Win a copy of Rust Web Development this week in the Other Languages forum!

Mohsin Kayal

Greenhorn
+ Follow
since Oct 22, 2005
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Mohsin Kayal

NO REPLY FROM ANYONE. I KILLED THIS ISSUE SUCCESSFULLY BY READING SOME GOOD ARTICLES.
15 years ago
Dear All,

I have developed an Enterprise Application (with the products :IBM WAS 5.1.1.8, Oracle 9i, IBM Websphere MQ 5.3) that contains MDB which picks request messages from the local queue and call a SLSB which sends the same to a cluster queue to get response. The SLSB will wait to get the response upto a certain seconds. Once the response is received the SLSB puts same into another local queue for Processing. Another MDB will pick the message from this response queue and process it in my local database. I use IBM's API to get the response from the cluster queue and to put the response into my local response queue. Everything goes fine upto this stage. But sometime the MDB which i assigned for the response queue gets delayed to pick the message by upto 1 minute. But when i check the queue, it contains the response messages. I think it may be because of resource problem. I set the max connection to 100 and min connection to 20 in connection pool for its queue connection factory.But still i am facing the same problem. Pls. let me know the things that i need to do inorder to come out from this issue.

I assigned the following values for the listener which picks the response message from the response local queue:

Maximum sessions : 5
Maximum retries : 2
Maximum messages : 1

[ November 05, 2006: Message edited by: Mohsin Kayal ]
[ November 08, 2006: Message edited by: Mohsin Kayal ]
15 years ago
Dear all,

We have developed two enterprise application (both running under IBM WAS 5.1) that uses Apache's Log4j for logging.

I placed both the log4j-1.2.11.jar & log4j.properties under lib folder. The problem here is I want to create two different files (under two different directories) for those two enterprise applications by using the default log4j.properties file.

My log4j.properties file look like :

log4j.rootLogger=INFO,APP1,APP2

log4j.appender.APP1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.APP1.File=c:\Application1.log
log4j.appender.APP1.layout=org.apache.log4j.PatternLayout
log4j.appender.APP1.DatePattern='.'yyyy-MM-dd

log4j.appender.APP1.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss,SSS} %5p - %x %m%n

log4j.appender.APP2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.APP2.File=c:\Application2.log
log4j.appender.APP2.layout=org.apache.log4j.PatternLayout
log4j.appender.APP2.DatePattern='.'yyyy-MM-dd

log4j.appender.APP2.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss,SSS} %5p - %x %m%n


Pls. provide me the solution.
[ February 14, 2006: Message edited by: Mohsin Kayal ]
15 years ago
we have the following exception while running our enterprise application.

E WTRN0078E: An attempt by the transaction manager to call start on a transactional resource has resulted in an error. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException: XA operation failed, see errorCode
at com.ibm.mq.MQXAResource.start(MQXAResource.java:427)
at com.ibm.ejs.jms.JMSManagedSession$JMSXAResource.start(JMSManagedSession.java:1212)
at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1267)
at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:164)
at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:389)
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1903)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:602)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ejs.jms.JMSManagedSession.interactionPending(JMSManagedSession.java:968)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:811)
at com.ibm.ejs.jms.JMSSessionHandle.enlist(JMSSessionHandle.java:953)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:466)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

[1/3/06 16:10:39:142 AST] 29d91af8 XATransaction E J2CA0030E: Method enlist caught javax.transaction.SystemException: Failed to start the transaction association.
at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1917)
at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)
at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:602)
at com.ibm.ejs.j2c.ConnectionEventListener.interactionPending(ConnectionEventListener.java:745)
at com.ibm.ejs.jms.JMSManagedSession.interactionPending(JMSManagedSession.java:968)
at com.ibm.ejs.jms.JMSManagedSession.enlist(JMSManagedSession.java:811)
at com.ibm.ejs.jms.JMSSessionHandle.enlist(JMSSessionHandle.java:953)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:466)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)


We are using :

IBM Websphere Application Server 5.1
IBM Websphere MQ 5.3
Oracle 9i
Hi

We are developing an enterprise application (runs under IBM Websphere Application Server 5.1) that contains MDB which reads messages from queues (IBM Websphere MQ 5.3 CSD8) and inserts the message in a table (Oracle 9i DB). We are using 2PC for both queue and DB. When running our application we are getting the following exception:

7e6083f MCWrapper E J2CA0081E: Method destroy failed while trying to execute method destroy on ManagedConnection com.ibm.ejs.jms.JMSManagedQueueSession@3b17c836
physical session = com.ibm.mq.jms.MQXAQueueSession@35380836
session type = XA_SESSION
enlisted = false
open session handles = []
managed session factory = com.ibm.ejs.jms.JMSManagedQueueSessionFactory@1c980834 from resource No longer available. Caught exception: javax.resource.spi.ResourceAdapterInternalException: Failed to close session
at com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:125)
at com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:521)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.removeParkedConnection(FreePool.java:523)
at com.ibm.ejs.j2c.poolmanager.PoolManager.quiesce(PoolManager.java:1052)
at com.ibm.ejs.j2c.ConnectionFactoryDetails.freeResources(ConnectionFactoryDetails.java:137)
at com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl.freeConnectionFactory(ConnectionFactoryBuilderImpl.java:782)
at com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:648)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:468)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reclaimConnections(PoolManager.java:2627)
at com.ibm.ejs.j2c.poolmanager.PoolManager.executeTask(PoolManager.java:2551)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.executeTask(TaskTimer.java:77)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.run(TaskTimer.java:106)
---- Begin backtrace for Nested Throwables
javax.jms.JMSException: MQJMS2012: XACLOSE failed
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:530)
at com.ibm.mq.jms.MQXASession.close(MQXASession.java:130)
at com.ibm.mq.jms.MQXAQueueSession.close(MQXAQueueSession.java:89)
at com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:516)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.removeParkedConnection(FreePool.java:523)
at com.ibm.ejs.j2c.poolmanager.PoolManager.quiesce(PoolManager.java:1052)
at com.ibm.ejs.j2c.ConnectionFactoryDetails.freeResources(ConnectionFactoryDetails.java:137)
at com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl.freeConnectionFactory(ConnectionFactoryBuilderImpl.java:782)
at com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:648)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:468)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reclaimConnections(PoolManager.java:2627)
at com.ibm.ejs.j2c.poolmanager.PoolManager.executeTask(PoolManager.java:2551)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.executeTask(TaskTimer.java:77)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.run(TaskTimer.java:106)
---- Begin backtrace for Nested Throwables
javax.transaction.xa.XAException: XA operation failed, see errorCode
at com.ibm.mq.MQXAResource.close(MQXAResource.java:153)
at com.ibm.mq.jms.MQXASession.close(MQXASession.java:123)
at com.ibm.mq.jms.MQXAQueueSession.close(MQXAQueueSession.java:89)
at com.ibm.ejs.jms.JMSManagedSession.destroy(JMSManagedSession.java:516)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.removeParkedConnection(FreePool.java:523)
at com.ibm.ejs.j2c.poolmanager.PoolManager.quiesce(PoolManager.java:1052)
at com.ibm.ejs.j2c.ConnectionFactoryDetails.freeResources(ConnectionFactoryDetails.java:137)
at com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl.freeConnectionFactory(ConnectionFactoryBuilderImpl.java:782)
at com.ibm.ejs.jms.JMSManagedConnection.destroy(JMSManagedConnection.java:648)
at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1310)
at com.ibm.ejs.j2c.poolmanager.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:468)
at com.ibm.ejs.j2c.poolmanager.PoolManager.reclaimConnections(PoolManager.java:2627)
at com.ibm.ejs.j2c.poolmanager.PoolManager.executeTask(PoolManager.java:2551)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.executeTask(TaskTimer.java:77)
at com.ibm.ejs.j2c.poolmanager.TaskTimer.run(TaskTimer.java:106)


Could any one help us in this regard?

Thanks
Hi Mr. Scott,

I am sorry. I am really did not ger your point. Will u pls. explain me in detail.
16 years ago
Hi everybody I got it. I have to set the broker version to 2.

Thanks indeed to all.
16 years ago
I got it. I have to specify BROKERPUBQ with the Queue Name under Topic Connection Factory.

Now I need to know how to register that publisher queue with the broker. Without that I got MQJMS5053:Broker Not Running! Pls.Start it Exception.

Can anybody explain me how to register my publisher queue (User Defined Queue) with the broker.
16 years ago
Hi Mr.Scott,

We are not using Websphere, but instead we are using a standalone java application which uses JMS to publish message. On the receiving side only we are using websphere. Here what we want is how to publish our messages on our Queue (ie; user defined queue) instead of default stream queue. It would be a greathelp for us if u provide me .scp file for publishing on that particular user defined queue.

What changes I have to make in my following .scp file :

DEF TCF(LMIQueueConnFact) QMGR(LMI_QM) HOST(80.0.0.131) TRANSPORT(CLIENT) PORT(1414) POLLINGINT(500) MSGBATCHSZ(10) BROKERVER(V1) SUBSTORE(QUEUE)

DEF T(LMIMarketStatus) TOPIC(LMIMarketStatus)
DEF T(LMICancelAndExecution) TOPIC(LMICancelAndExecution)

DIS CTX
END
16 years ago
Our requirement is PUBLISHER ----> MQ BROKER CONTROL QUEUE(system defined) ----> MQ BROKER RESULT QUEUE(user defined) ---> PUBLISHER QUEUE (user defined)

Instead of using system default "SYSTEM.BROKER.DEFAULT.STREAM" queue how can we specify user defined queue in the connection factory for JNDI look up.

If we set reply to queue as user defined result queue in the message, Did broker transmit the published message to result queue(user defined)?

DEF TCF(LMIQueueConnFact) QMGR(LMI_QM) HOST(80.0.0.131) TRANSPORT(CLIENT) PORT(1414) POLLINGINT(500) MSGBATCHSZ(10) BROKERVER(V1) SUBSTORE(QUEUE)

DEF T(LMIMarketStatus) TOPIC(LMIMarketStatus)
DEF T(LMICancelAndExecution) TOPIC(LMICancelAndExecution)

DIS CTX
END
16 years ago
We are developing an enterprise application in which we need to publish the message in an User Defined Queue (say Q.PUBLISH.QUEUE).

As we know that by default the messages published are send to the SYSTEM.BROKER.DEFAULT.STREAM, instead of this queue we need to publish in our queue Q.PUBLISH.QUEUE through JMS.How can we do this?

We are using :
IBM Websphere MQ 5.3 with CSD 11
JMS 1.1


[ December 11, 2005: Message edited by: Mohsin Kayal ]
[ December 11, 2005: Message edited by: Mohsin Kayal ]
16 years ago
Dear All,

We have IBM Websphere Application Server 5.1.0.5 base version. Our enterprise application needs to do business process which is in Oracle 9i Clustered Database. (Transaparent Application Failover - TAF enabled).

We don't know how to configure Clustered DB (Since it is having two IPs) in base version.

Is base version supports to configure for Clustered DB or we need IBM WAS Extended Deployment Edition?
16 years ago
Thanks to all,

My requirement is to process the message in strict order and moreover it has to be very fast (say 100 msgs/sec). That is why I opted to go with 11 queues.

Now I have 11 MDBs and only one session bean and I got the solution.

My Sincere thanks again to all.
How can I increase the pool size of Stateless Session Bean in IBM Websphere Application Server 5.1.0.5?
Hi Mr.Roger,

We have 11 MDBs which are looking 11 queues. I don't know how to increase the pool size of the SLSB in IBM WAS 5.1. Could u pls. give me the details.

Thanks indeed