JMS MQ consume failed
I have the GA version. I am able to put a message on a MQ queue. But When I try to read from the same queue. it gives me the following error..
"<2005-05-26 16:06:08,310> <ERROR> <default.collaxa.cube.activation> <JMSAdapter::Inbound>
javax.jms.InvalidDestinationException: MQJMS2008: failed to open MQ queue "
I have GET enabled and I am able to get using a simple c program that can do a GET. But using the BPEL orchestration it gives me error when I start the Server.
Any help will be greatly appreciated.
Hi Ashwin,
Can you forwad your Project and JMS Adapter Oc4j-ra.xml file to [email protected] and [email protected]
Dhaval
Similar Messages
-
JMS5024: JMS service startup failed.
I have created a hellowworld.jsp. I deployed the project using server Sun Java Application Server Edition 8.1 and Type exploded. The deploy was successful. When I try to start the sun Java Application Server Edition 8.1, I am receiving a JMS5024: JMS service startup failed SEVERE error. Any help would be appreciated. The error is below:
Feb 21, 2005 11:34:38 AM com.sun.enterprise.jms.JmsProviderLifecycle onInitialization
SEVERE: JMS5024: JMS service startup failed.
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21
recursive call into SystemOutandErrhandler
java.lang.RuntimeException: recursivecall
at com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream.flush(SystemOutandErrHandler.java:189)
at java.io.PrintStream.write(PrintStream.java:260)
at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:146)
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:204)
at java.io.Writer.write(Writer.java:126)
at java.util.logging.StreamHandler.publish(StreamHandler.java:191)
at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:87)
at java.util.logging.Logger.log(Logger.java:424)
at java.util.logging.Logger.doLog(Logger.java:446)
at java.util.logging.Logger.log(Logger.java:469)
at com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream.flush(SystemOutandErrHandler.java:198)
at java.io.PrintStream.write(PrintStream.java:260)
at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
at java.util.logging.StreamHandler.flush(StreamHandler.java:224)
at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:88)
at java.util.logging.Logger.log(Logger.java:424)
at java.util.logging.Logger.doLog(Logger.java:446)
at java.util.logging.Logger.log(Logger.java:469)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:285)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Feb 21, 2005 11:34:38 AM com.sun.enterprise.jms.JmsProviderLifecycle onInitialization
SEVERE: JMS5024: JMS service startup failed.
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.jms.JmsProviderLifecycle onInitialization
SEVERE: JMS5024: JMS service startup failed.
Feb 21, 2005 11:34:38 AM com.sun.enterprise.jms.JmsProviderLifecycle onInitialization
SEVERE: JMS5024: JMS service startup failed.
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.jms.JmsProviderLifecycle onInitialization
SEVERE: JMS5024: JMS service startup failed.
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFactory.java:184)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:102)
... 5 more
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFa
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFactory.java:184)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:102)
... 5 more
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFactory.java:184)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:102)
... 5 more
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFactory.java:184)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:102)
... 5 more
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel startASSocketServices
SEVERE: UnknownException during startup. Disable quick startup by setting system property com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleException
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:289)
at com.sun.enterprise.server.ss.ASLazyKernel.startLifecycle(ASLazyKernel.java:188)
at com.sun.enterprise.server.ss.ASLazyKernel.startMQ(ASLazyKernel.java:163)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:52)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigModel(ServerBeansFactory.java:59)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getConfigBean(ServerBeansFactory.java:96)
at com.sun.enterprise.config.serverbeans.ServerBeansFactory.getJavaConfigBean(ServerBeansFactory.java:184)
at com.sun.enterprise.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:102)
... 5 more
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:67)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.ja
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:67)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:67)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:67)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.logging.SystemOutandErrHandler$LoggingByteArrayOutputStream flush
WARNING: Feb 21, 2005 11:34:38 AM com.sun.enterprise.server.ss.ASLazyKernel stopLifecycle
SEVERE: Exception while stoppping Lifecycle.
java.lang.NullPointerException
at com.sun.enterprise.jms.JmsProviderLifecycle.checkProviderStartup(JmsProviderLifecycle.java:389)
at com.sun.enterprise.jms.JmsProviderLifecycle.onShutdown(JmsProviderLifecycle.java:445)
at com.sun.enterprise.server.ss.ASLazyKernel.stopLifecycle(ASLazyKernel.java:175)
at com.sun.enterprise.server.ss.ASLazyKernel.stopMQ(ASLazyKernel.java:169)
at com.sun.enterprise.server.ss.ASLazyKernel.exitServer(ASLazyKernel.java:74)
at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:67)
at com.sun.enterprise.server.PEMain.run(PEMain.java:274)
at com.sun.enterprise.server.PEMain.main(PEMain.java:220)Hi
successful. When I try to start the sun Java
Application Server Edition 8.1, I am receiving a
JMS5024: JMS service startup failed SEVERE error. Any
help would be appreciated. The error is below:Could you share your MQ broker log file [$AS_INSTALL_DIR/domains/domain1/imq/instances/imqbroker/log/log.txt]? Does this error occur after you had installed the jsp app? Was the earlier shutdown a clean shutdown? Could you check and see if there are any jms processes around[ ps -efa | grep
imqbrokerd] ?
>
WARNING: Feb 21, 2005 11:34:38 AM
com.sun.enterprise.server.ss.ASLazyKernel
startASSocketServices
SEVERE: UnknownException during startup. Disable
quick startup by setting system property
com.sun.enterprise.server.ss.ASQuickStartup to false
com.sun.appserv.server.ServerLifecycleExceptionIs AS startup successful if you disable application server lazy startup using the above system property?
--Siva. -
AS startup - JMS service startup failed
After sucessful instalation of AS7 on sparc Solaris 8, I've got error during startup.
[10/Jul/2003:16:42:12] INFO ( 1145): CORE1116: Sun ONE Application Server 7.0.0_01
[10/Jul/2003:16:42:13] INFO ( 1146): CORE3016: daemon is running as super-user
[10/Jul/2003:16:42:18] INFO ( 1146): CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.1_01] from [Sun Microsystems Inc.]
[10/Jul/2003:16:42:56] INFO ( 1146): JMS5035: Timed out after 30000 milliseconds while trying to verify if the JMS service startup succeeded.
[10/Jul/2003:16:42:56] INFO ( 1146): JMS5036: More details may be available in the log file for the JMS service broker instance domain1_server1. Please refer to the JMS provider documentation for the exact location of this log file.
[10/Jul/2003:16:42:56] SEVERE ( 1146): JMS5024: JMS service startup failed.
[10/Jul/2003:16:42:56] SEVERE ( 1146): CORE5071: An error occured during initialization
com.sun.appserv.server.ServerLifecycleException: [C4003]: Error occurred on connection creation. - caught java.net.ConnectException
at com.iplanet.ias.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:247)
at com.iplanet.ias.server.ApplicationServer.onInitialization(ApplicationServer.java:206)
at com.iplanet.ias.server.J2EERunner.confPreInit(J2EERunner.java:114)
Caused by: com.sun.appserv.server.ServerLifecycleException: [C4003]: Error occurred on connection creation. - caught java.net.ConnectException
at com.iplanet.ias.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:231)
... 2 more
Caused by: javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.net.ConnectException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:145)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:86)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:47)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:46)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:101)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:501)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:930)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:1482)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:403)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:234)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:32)
at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionFactory.java:72)
at com.sun.messaging.jmq.admin.jmsspi.JMSAdminImpl.pingProvider(JMSAdminImpl.java:733)
at com.iplanet.ias.jms.JmsProviderLifecycle.waitForJmsProvider(JmsProviderLifecycle.java:284)
at com.iplanet.ias.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:224)
... 2 more
[10/Jul/2003:16:42:56] SEVERE ( 1146): CORE3186: Failed to set configurationThis seems to be the same problem as one described in: http://swforum.sun.com/jive/thread.jsp?forum=68&thread=20049
Double check JMS port assignments - port might already be in use by some other process and should be changed.
Hope this helps... -
Hi there,
I have met a pretty challenging problem in JMS queue consumer and
would like to know if any JMS lovers in the group know about it.
We have queue receiver listening on queue which contains a number of
mugs.
Once a msg is received (onMessage returns), the msg is handed over to
a worker thread from a thread pool.
Essentially there are two parts of the problem:
1. We want kind of flow control - only x number of msg can be
processed at a given time. This can be resolved by using semaphore.
However, there might be better solution out there. Anyhow, this is
less an issue than the second part -
2. As we know client_acknowledge happens at the session level:
Acknowledging a consumed message automatically acknowledges the
receipt of all messages that have been consumed by its session. For
example, if a message consumer consumes ten messages and then
acknowledges the fifth message delivered, all ten messages are
acknowledged.
-- this is the problem -- we want to acknowledge each msg
individually so that only the processed msg is acknowledged although
there are x number of msg being retrieved. By doing that we won't lost
any msg in case the JMS client crashes.
It is a challenge, isn't it? Might well not be one for you, if you
know the trick. If you do, could you share with us? Thanks a lot.
Mike
Just to be clear, I favor (2), where each worker thread has its own session and
consumer.
This naturally throttles, as there are only as many outstanding messages as
worker-threads.
BTW, be aware that it is against spec, and dangerous, to call acknowledge()
outside of
onMessage() - as this multi-threads the Session and Session's are not thread
safe.
Tom
Tom Barnes wrote:
> Actually you both are correct. The ack behavior is configurable on the
> connection factory via the "AcknowledgePolicy", where the default is
> what the spec requires (ack-all). Prior to 6.1
> the behavior was what one would expect (ack-before).
>
> As for how to solve the problem at hand. I can think of three approaches:
>
> (1) use the current async consumer but set the ack-policy
> to ack-before, and defer acknowledging a msg until all msgs before
> it have finished their processing
>
> (2) use multiple synchronous consumers, one consumer per defered msg
>
> (3) use a single synchronous consumer, but dequeue transactionally,
> one transaction per msg. suspend the transaction, then have
> the worker thread resume the transaction once it finishes processing
> the message and call commit. (Take care that the default
> tran timeout is 30 seconds.)
>
> Shean-Guang Chang wrote:
>
> > Just to correct one assumption. Ack the fifth message will not ack message
> > received after that (e.g. message 6, 7, 8, etc...). At least not WLS JMS.
> > If this is not true for you please give details of your client code and
> > version of WLS JMS you have. Thanks!
> >
> > "Mike" <[email protected]> wrote in message
> > news:[email protected]...
> > > Hi there,
> > >
> > > I have met a pretty challenging problem in JMS queue consumer and
> > > would like to know if any JMS lovers in the group know about it.
> > >
> > > We have queue receiver listening on queue which contains a number of
> > > mugs.
> > > Once a msg is received (onMessage returns), the msg is handed over to
> > > a worker thread from a thread pool.
> > >
> > > Essentially there are two parts of the problem:
> > >
> > > 1. We want kind of flow control - only x number of msg can be
> > > processed at a given time. This can be resolved by using semaphore.
> > > However, there might be better solution out there. Anyhow, this is
> > > less an issue than the second part -
> > >
> > > 2. As we know client_acknowledge happens at the session level:
> > > Acknowledging a consumed message automatically acknowledges the
> > > receipt of all messages that have been consumed by its session. For
> > > example, if a message consumer consumes ten messages and then
> > > acknowledges the fifth message delivered, all ten messages are
> > > acknowledged.
> > > -- this is the problem -- we want to acknowledge each msg
> > > individually so that only the processed msg is acknowledged although
> > > there are x number of msg being retrieved. By doing that we won't lost
> > > any msg in case the JMS client crashes.
> > >
> > > It is a challenge, isn't it? Might well not be one for you, if you
> > > know the trick. If you do, could you share with us? Thanks a lot.
> > >
> > > Mike
-
Oracle Queue Error creating JMS-120: Dequeue failed
Hi Guys,
We are facing serious problems with Oracle queue when dequeuing messages from the queue.
Our configuration is the following:
- SOA Suit 10.g (10.1.3.5.0)
- Dehydration storage - Oracle Database 11gR2 in Exadata Cloud
We use standard JMS Adabpter from AS10g to dequeue messages from the Oracle queue.
Suddenly dequeue stop working pooling the flowing errors into the log.xml log file in $ORACLE_HOME/j2ee/oc4j_soa/log/oc4j_soa_SOA_GROUP_1/oc4j directory.
<MSG_TEXT>Failed to process deferred message</MSG_TEXT>
<SUPPL_DETAIL><![CDATA[oracle.tip.esb.server.dispatch.QueueHandlerException: Error creating "JMS-120: Dequeue failed"
at oracle.tip.esb.server.dispatch.JMSDequeuer.dequeue(JMSDequeuer.java:197)
at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.java:178)
at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:135)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:308)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:2094)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:922)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:835)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:776)
at oracle.j2ee.ra.jms.generic.CommonConsumerWrapper.receive(CommonConsumerWrapper.java:203)
at oracle.tip.esb.server.dispatch.JMSDequeuer.dequeue(JMSDequeuer.java:175)
... 7 more
then:
<COMPONENT_ID>j2ee</COMPONENT_ID>
<MSG_ID>J2EE JTA-00107</MSG_ID>
<MSG_TEXT>Error in resource driver during rollback: oracle.jdbc.xa.OracleXAException, errorCode : -7</MSG_TEXT>
and this message comes out every second:
<MSG_TEXT>Attempt to use an invalid handle : 'oracle_jdbc_driver_LogicalConnection_Proxy@10af88e3'.</MSG_TEXT>
Any help, suggestions, hints would be much appreciated.
cheers!!
eMarcelHi there
I have got the same problem i.e
oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:283)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:2178)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1013)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:950)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:897)
at com.cramer.cdd.mytest.QueueReceive2.init(QueueReceive2.java:122)
at com.cramer.cdd.mytest.QueueReceive2.main(QueueReceive2.java:152)
Exception in thread "main
Please help me in debugging this.
I have a standalone java application to listen to the aqJMS queue.
Regards
Paul -
Setting ClientID in JMS Adapter- Consume
Hi All,
does anyone have idea how to set clientId in JMS Adapter (Consume Operation). I am able to see only option to set durablesusriber name.
I can see clientId option available in connection factory setting, but i am still unable to use that. If i have 10 clients , i can't go on creating 10 different connection factory. Also how to link it with 10 adapters?
I am using JMS topic. SOA 11G
thanks
Bikashatheek1 wrote:
You can set client ID either in the JMS connection factory or in FactoryProperties in JMS Adaptors outbound connection pool as <FactoryProperties>ClientID=uniquename</FactoryProperties>
Weblogic jms expects the combo of durable subscription + client ID to be unique across the durable subscriptions, not just client ID. so if you can given unique durable subscription names in the jca file you should still be able to use the same JMS CF / jms adaptor connection pool across multiple instances.
Below is details
Susriber Name Client ID_
DurTpicSus4_1 DurTpicSus4
DurTpicSus4_2 DurTpicSus4
DurTpicSus4_3 DurTpicSus4
then in factory properties i gave ClientID = DurTpicSus4.
Then deployed all 3 composit application with different susriber name, only one worked. Which ever i deployed first worked everytime. For rest error came, below is error
========================================
JMSMessageConsumer_init: Retrying connection; attempt #2 BINDING.JCA-12133 ERRJMS_JMS_EXCEP. ERRJMS_JMS_EXCEP. Unable to create JMSConnection due to JMSException. Please examine the log file to determine the problem. at oracle.tip.adapter.jms.JMS.JMSConnection.init(JMSConnection.java:263) at oracle.tip.adapter.jms.JMS.JMSConnection.<init>(JMSConnection.java:117) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:371) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createDefaultConnection(JmsManagedConnectionFactory.java:364) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:327) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createManagedConnection(JmsManagedConnectionFactory.java:95) at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:803) at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91) at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1193) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315) at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:620) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309) at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:365) at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:320) at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:129) at oracle.tip.adapter.jms.JmsConnectionFactory.getConnection(JmsConnectionFactory.java:93) at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.createConsumer(JMSMessageConsumer.java:318) at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.init(JMSMessageConsumer.java:913) at oracle.tip.adapter.jms.inbound.JmsConsumer.init(JmsConsumer.java:862) at oracle.tip.adapter.jms.JmsEndpoint.run(JmsEndpoint.java:163) at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105) at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183) at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30) Caused By: weblogic.jms.common.InvalidClientIDException: Client id, DurTpicSus4, is in use. The reason for rejection is "The JNDI name weblogic.jms.connection.clientid.DurTpicSus4 was found, and was bound to an object of type weblogic.jms.frontend.FEClientIDSingularAggregatable : FEClientIDSingularAggregatable(SingularAggregatable(<4161256989713352509.1>:150):DurTpicSus4)" at weblogic.jms.frontend.FEConnection.setConnectionClientId(FEConnection.java:1247) at weblogic.jms.frontend.FEConnection.<init>(FEConnection.java:197) at weblogic.jms.frontend.FEConnectionFactory$1.run(FEConnectionFactory.java:381) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.jms.frontend.FEConnectionFactory.connectionCreateInternal(FEConnectionFactory.java:377) at weblogic.jms.frontend.FEConnectionFactoryImpl.connectionCreateInternal(FEConnectionFactoryImpl.java:79) at weblogic.jms.frontend.FEConnectionFactoryImpl.connectionCreateRequest(FEConnectionFactoryImpl.java:62) at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:224) at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:285) at weblogic.jms.client.JMSConnectionFactory.createTopicConnection(JMSConnectionFactory.java:186) at oracle.tip.adapter.jms.JMS.JMSConnection.init(JMSConnection.java:159) at oracle.tip.adapter.jms.JMS.JMSConnection.<init>(JMSConnection.java:118) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:371) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createDefaultConnection(JmsManagedConnectionFactory.java:364) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:327) at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createManagedConnection(JmsManagedConnectionFactory.java:95) at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:803) at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91) at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1193) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:395) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:315) at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:620) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:309) at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:365) at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:320) at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:129) at oracle.tip.adapter.jms.JmsConnectionFactory.getConnection(JmsConnectionFactory.java:93) at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.createConsumer(JMSMessageConsumer.java:318) at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.init(JMSMessageConsumer.java:914) at oracle.tip.adapter.jms.inbound.JmsConsumer.init(JmsConsumer.java:864) at oracle.tip.adapter.jms.JmsEndpoint.run(JmsEndpoint.java:163) at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:106) at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183) at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
==================================== -
Distributed topic - JMS adapter consuming duplicate messages
We have distributed topic thats consumed by a composite (JMSadpter in mediator).
We see for every one message sent the composite consumes the message twice. (With forwarding policy set to partitioned)
Is this an expected behavior? and how do we make the consumer (JMS adapter) consume only once per message
Thanks
VijayFrom the documentation (provided here: http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10231/adptr_jms.htm)
The JMS API specifies three types of acknowledgments that can be sent by the JMS publisher:
- DUPS_OK_ACKNOWLEDGE, for consumers that are not concerned about duplicate messages
- AUTO_ACKNOWLEDGE, in which the session automatically acknowledges the receipt of a message
- CLIENT_ACKNOWLEDGE, in which the client acknowledges the message by calling the message's acknowledge method
Could you check in the weblogic-ra.xml what acknowledge mode has been configured:
<property>
<name>AcknowledgeMode</name>
<value>AUTO_ACKNOWLEDGE</value>
</property>
...Note that when DUPS_OK_ACKNOWLEDGE is used it can happen that a message is consumed more than once.
Are you also sure that the message is not produced twice?
Seminar on Cloud Computing - http://middlewaremagic.com/weblogic/?p=7387 -
Folks,
I am having problem starting the application server after trying to add the following JVM options
-DproxyHost=<my_host>.<my_domain> -DproxyPort=80
OK, it didn't work, so I decided to remove the above options and back to where it was. Since then, I am unable to start the server. Below is the error log:
[10/Nov/2004:18:12:00] INFO ( 1110): CORE1116: Sun ONE Application Server 7.0.0_03c
[10/Nov/2004:18:12:00] INFO ( 1111): CORE3016: daemon is running as super-user
[10/Nov/2004:18:12:03] INFO ( 1111): CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.4.2_04] from [Sun Microsystems Inc.]
[10/Nov/2004:18:12:05] SEVERE ( 1111): JMS5024: JMS service startup failed.
[10/Nov/2004:18:12:05] SEVERE ( 1111): CORE5071: An error occured during initialization
com.sun.appserv.server.ServerLifecycleException: congo.abc.com.au: congo.abc.com.au
at com.iplanet.ias.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:247)
at com.iplanet.ias.server.ApplicationServer.onInitialization(ApplicationServer.java:206)
at com.iplanet.ias.server.J2EERunner.confPreInit(J2EERunner.java:114)
Caused by: java.net.UnknownHostException: congo.abc.com.au: congo.abc.com.au
at java.net.InetAddress.getLocalHost(InetAddress.java:1191)
at com.iplanet.ias.jms.JmsProviderLifecycle.onInitialization(JmsProviderLifecycle.java:148)
... 2 more
[10/Nov/2004:18:12:05] SEVERE ( 1111): CORE3186: Failed to set configuration
I have tried the followings: change the JMS port, increase time out, increase memory heaps AND nothing work.
Appreciate any help.
VQCheck for lock file blocking JMS service startup in /var/opt/imq/instances/domain1_server1
I found it was causing me problems after rebooting without stopping the app server.
Cheers,
Ed -
Distributed JMS Topic consumer reconnection... How???
Hi!
I'm trying to develop a JMS consumer that is connected to a distributed topic located in a 2-machine cluster. The client knows the address of the two servers, so the idea is to catch the JMSException (JMS destination shutdown) with a ExceptionListener (or something like that) if one server fails, and then try to connect to the other one...
I've been browsing Weblogic docs but I didn't find any example for this.
How do I implement my consumer? Is there any other approach to my problem?
Thanks a lot!
Jorge Granado
Hi Tom:
Finally I've been able to reconnect my consumer. I took a "clean" one (mine was
getting too complicated :-) and it worked. I took the TopicReceive sample from
bea samples and added a "reconnect" method following your recommendations about
reusing existing ConnectionFactory. I'm beginning to think I was forgetting to
start the connection, but anyway now it works great. Thanks a lot!
BTW, could you explain to me how can I change (if possible) in "real-time" the
MessageSelector properies for an existing consumer? Suppose that I have a consumer
connected to a topic with a selector like "priority >=2" and I'd like to change
it to "priority >=3" without restarting the application... Is it possible??
Thanks again
Jorge
Tom Barnes <[email protected].bea.com>
wrote:
>Seems like your following the recipe correctly. :-)
>
>Could you try this on a platform other than AIX?
>
>Are you using the same version of WL jars for client and server?
>
>Are you using the new 8.1 "thin client" jars for the client? If
>so try using weblogic.jar instead (don't put both kinds
>of jars in your classpath).
>
>
>"Jorge Granado" jorge.granadoATatosorigin.com wrote:
>
>> Hi again!
>>
>> Well, maybe there's something I don't get, but what I'm trying to do
>is:
>>
>> -Create a topic consumer and connect it to the distributed topic (standard
>process...)
>> -Shutdown the server where the consumer is connected...
>> -Capture the exception
>> -Close the topic connection
>> -Create a new one reusing existing topic connection factory (as you
>told me there's
>> no need to make a lookup again...)
>> -Create a topic session over the new topic connection
>> -Create a subscriber
>> -Read messages... :-)
>>
>> But in 5th step what I get is a new Exception... "Error creating connection
>to
>> the server"
>>
>> I'm sure I've misunderstood something... :-(
>>
>> Thanks again for your patience :-)
>>
>> Jorge
>>
>> Tom Barnes <[email protected].bea.com>
>> wrote:
>>
>>>No, I don't know what is happening. I wonder if you are
>>>somehow multi-threading the session? Try closing
>>>the old connection before reconnecting. And note that
>>>there is no need to lookup up the CF again, as the old CF
>>>should work fine (it is a clusterable RMI reference,
>>>so it can survive failures).
>>>
>>>"Jorge Granado" jorge.granadoATatosorigin.com wrote:
>>>
>>>>Now I've created a consumer, and when catching the session exception
>>>
>>>and try to
>>>
>>>>reconnect to another WL instance, when I make the JNDI lookup to my
>>>
>>>connection
>>>
>>>>factory, instead of getting a weblogic.jms.client.JMSConnectionFactory
>>>
>>>what I
>>>
>>>>get is an weblogic.jms.frontend.FEConnectionFactory_812_WLStub_812_WLStub.
>>>
>>>>This causes a ClassCastException and I can't connect to it. Any idea
>>>
>>>what is happening?
>>>
>>>>Thanx again :-)
>>>>
>>>> Jorge
>>>>
>>>>BTW, I'm using WL 8.1 SP2 (AIX platform)
>>>>
>>>>Tom Barnes <[email protected].bea.com>
>>>>wrote:
>>>>
>>>>
>>>>>Hi Jorge,
>>>>>
>>>>>Registering exception-listeners and retrying on failure
>>>>>seems like the right approach. I'm not sure what you
>>>>>are looking for in an example.
>>>>>
>>>>>For more information on JMS clustering, I recommend reading
>>>>>the JMS Performance Guide white-paper on dev2dev:
>>>>>
>>>>>http://dev2dev.bea.com/technologies/jms/index.jsp
>>>>>
>>>>>Tom, BEA
>>>>>
>>>>>P.S. One thing to realize is that WebLogic distinguishes between
>>>>>"session" exceptions and "ccnnection" exceptions. Shutting
>>>>>down JMS without shutting down a client connection's WL
>>>>>server only generates session exceptions, as the connection
>>>>>is still valid. To monitor session exceptions, register
>>>>>a session exception listener (see the weblogic.jms.extensions
>>>>>package).
>>>>>
>>>>>Jorge Granado wrote:
>>>>>
>>>>>
>>>>>
>>>>>>Hi!
>>>>>>
>>>>>>I'm trying to develop a JMS consumer that is connected to a distributed
>>>>>
>>>>>topic located in a 2-machine cluster.
>>>>>
>>>>>
>>>>>>The client knows the address of the two servers, so the idea is
>to
>>>>>
>>>>>catch the JMSException (JMS destination shutdown)
>>>>>
>>>>>with a ExceptionListener (or something like that) if one server fails,
>>>>>
>>>>>and then try to connect to the other one...
>>>>>
>>>>>
>>>>>>I've been browsing Weblogic docs but I didn't find any example for
>>>>>
>>>>>this.
>>>>>
>>>>>
>>>>>>How do I implement my consumer? Is there any other approach to my
>>>
>>>problem?
>>>
>>>>>>Thanks a lot!
>>>>>>
>>>>>> Jorge Granado
>>>>>
>>
>
-
JMS detection of failed network connection
I have a JMS topic that has a number of consumers, each of which is on a different machine. Messages are being sent on the topic at a low enough rate that the consumers are usually able to handle them immediately. If I look at the monitor screen (on admin console) for JMS, I see that I never have more than one or 2 messages on the server; they are consumed just about immediately, and the high water mark for the topic is 1 or 2.
Part of our system robustness testing is disconnecting the network from one of the machines hosting a consumer. When I do that and monitor the number of JMS messages on the server, I see the number of messages climb. My assumption here is that the server keeps track of its consumers, and it is holding on to messages until it can deliver them to the consumer. At some point, usually, the number of consumers connected to the topic is reduced by 1 and the number of messages on the server is reduced down to a low number. I am assuming that the server has detected that the consumer is unreachable and it no longer holds onto the messages for delivery to that consumer.
First, are my assumptions accurate?
Second, if so, how can I configure how quickly the server concludes that the client is unreachable and stops holding messages? What I want to do is limit the number of messages in a topic using a quota, and I need to know how to set a reasonable size, given a message production rate. For instance, is there a way to say how long the server should try to deliver messages to a consumer before giving up on it?Hi,
I'm assuming the subscribers are non-durable, in which case I think your assumptions are correct - it takes some time to detect a network disconnect.
Its possible to tune how quickly WebLogic tears down stuck network connections, but this is generally not recommended (I think the configurables are on the "Network Channel").
Some options:
You can programmatically set a message expiration time using the standard JMS API (javax.jms.MessageProducer.setTimeToLive() are as a parameter to publish()), or, more conveniently, you can configure an expiration time override on the WebLogic topic itself.
You can configure a quota on the destination, but this would cause new publish attempts to fail with a resource allocation exception once the quota condition is reached (rather than cause the oldest messages to be dropped). That said, it is recommended best practice to always configure quotas in order to prevent the possibility of out-of-memory errors, and there are some flow-control options to help (see the JMS section of the Performance & Tuning guide in the edocs). You might also wish to tune JMS paging.
Regards,
Tom -
JMS JDBC store failed to open after switched to a different database machine
Hi,
I'm running WebLogic 6.1 sp3/Oracle 8.1.6 and I configure the JMS JDBC store for
persistent messaging. I was working fine until I switched to use a different database
machine which has the same software configuration as the old one. It was giving
me "failed to create tables" error at start up time. But I checked the database
and found out the two tables (<prefix>JMSSTORE and <prefix>JMSSTATE) were both
created and I was able to query although they don't contain any data. By the way,
I'm using thin client.
Anyone can help? Thanks a lot!
Here's the exception:
<Jul 23, 2003 4:33:10 PM PDT> <Alert> <JMS> <JMSServer "notifyServer", store failed
to open, java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix
= <qa.JMS_SERVER_>: failed to create tables.
java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
failed to create tables
at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
at weblogic.jms.backend.BEStore.open(BEStore.java:180)
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>
<Jul 23, 2003 4:33:10 PM PDT> <Error> <JMS> <Failed to deploy JMS Server "notifyServer"
due to weblogic.jms.common.ConfigurationException: JMS can not open store.
weblogic.jms.common.ConfigurationException: JMS can not open store
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:395)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
----------- Linked Exception -----------
java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
failed to create tables
at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
at weblogic.jms.backend.BEStore.open(BEStore.java:180)
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>
Hi Michelle,
I suspect a permission problem where the new tables are created
using the JDBC driver's default schema, but the prefix
specifies another schema "qa". So the tables are getting
created, but aren't found.
Work-around one:
manually extract, edit, and run the ddl that creates
the tables to specify the schema. Prepend
"qa.JMS_SERVER_" to all table names
(This is fairly simple to do.)
http://edocs.bea.com/wls/docs61/jms/appb.html#999286
Work-around two:
Don't include "qa." in the prefix.
(i'm not sure if this will work)
Work-around three:
Change the username of the JDBC pool to "qa".
(i'm not sure if this will work)
Work-around four:
Change the schema for the tables that were created
under the JDBC driver's default schema to "qa".
(I'm not sure how this is done, or even
if it is possible. Database specific.)
Tom
Michelle Lian wrote:
> Hi,
>
> I'm running WebLogic 6.1 sp3/Oracle 8.1.6 and I configure the JMS JDBC store for
> persistent messaging. I was working fine until I switched to use a different database
> machine which has the same software configuration as the old one. It was giving
> me "failed to create tables" error at start up time. But I checked the database
> and found out the two tables (<prefix>JMSSTORE and <prefix>JMSSTATE) were both
> created and I was able to query although they don't contain any data. By the way,
> I'm using thin client.
>
> Anyone can help? Thanks a lot!
>
> Here's the exception:
>
> <Jul 23, 2003 4:33:10 PM PDT> <Alert> <JMS> <JMSServer "notifyServer", store failed
> to open, java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix
> = <qa.JMS_SERVER_>: failed to create tables.
> java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
> failed to create tables
> at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
> at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
> at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
> at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
> at weblogic.jms.backend.BEStore.open(BEStore.java:180)
> at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
> at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
> at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
> at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy39.updateDeployments(Unknown Source)
> at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
> at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
> at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy58.start(Unknown Source)
> at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
> at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
> at weblogic.management.Admin.finish(Admin.java:644)
> at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
> at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
> at weblogic.Server.main(Server.java:35)
>
> <Jul 23, 2003 4:33:10 PM PDT> <Error> <JMS> <Failed to deploy JMS Server "notifyServer"
> due to weblogic.jms.common.ConfigurationException: JMS can not open store.
> weblogic.jms.common.ConfigurationException: JMS can not open store
> at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:395)
> at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
> at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
> at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy39.updateDeployments(Unknown Source)
> at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
> at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
> at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy58.start(Unknown Source)
> at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
> at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
> at weblogic.management.Admin.finish(Admin.java:644)
> at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
> at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
> at weblogic.Server.main(Server.java:35)
> ----------- Linked Exception -----------
> java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
> failed to create tables
> at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
> at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
> at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
> at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
> at weblogic.jms.backend.BEStore.open(BEStore.java:180)
> at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
> at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
> at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
> at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
> at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy39.updateDeployments(Unknown Source)
> at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
> at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
> at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
> at java.lang.reflect.Method.invoke(Native Method)
> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> at $Proxy58.start(Unknown Source)
> at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
> at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
> at weblogic.management.Admin.finish(Admin.java:644)
> at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
> at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
> at weblogic.Server.main(Server.java:35)
>
-
Jms, tibco consumer receiving null from queue when there are messages in qu
Hi,
I am having a problem with jms specificly tibco. by application has many consumers for one queue
say 15, with 0 to 100, messages per second going through. Occationaly 1 of more messages gets
stuck in the queue which then bocks all other mesasges from being consumed. I can see there
are messages in the queue with the tibjmsadmin package but receive(timeout) always returns null
for all the consumers. Any ideas.
ChersThanks for your reply Jayesh, but unfortunately this code sits in production and I can't turn it off. I will try testing it locally, hopefully I can reproduce this issue.
-
Jms Adapter Consume and produce
Hai guys,
i don't know anything in soa. i have got a usecase which is to
1) Read a .csv file
2) Send it to a bpel (in bpel do nothing to payload). Again i have to send the payload to jms adapter( which i dnt knw how )
3) From the same jms adapter passing the payload to mediator
4) Pass the input to another jms( jms2 ). from jms2 pass the payload to another bpel
5) from bpel to db adapter
am using
Oracle jDevloper 11.1.13
Weblogic server is a 10.3.6
my problem is how to create the same jms in two ways like consuming and producing
Thanks in advance
Edited by: Beckyard on Sep 26, 2012 9:49 PMHi,
Why do you need 2 JMS queues? Can't you consider following pattern?
Read .csv --> BPEL --> JMS Q
JMS Q --> Mediator --> BPEL (only if some payload processing required) --> Db Adapter
Assuming the above pattern, you'll have to develop 2 processes (in your pattern 3 processes).
- One that will enqueue the data in JMS in which the JMS Adapter will be placed in the External references and will be invoked with Produce operation.
- Another process in which Mediator will consume the message using Consume operation from JMS and pass it to BPEL for inserting into database. In this case, JMS Adapter will be placed in Exposed Service swim-lane.
Let us know how you proceed.
Regards,
Neeraj Sehgal -
JMS Adapter - Consuming empty opaque element
Hi All,
In a BPEL(lets say BPEL A) using JMS Adapter I am posting an message/payload into JMS Topic as Opaque element using produce_message.
Now in another router(Bpel B) I am listening to this topic using consume_message and trying to retrive the message.
Problem : In the consuming side ie., BPEL B's receive I receive the message as Empty opaque element.
ie.,
<receiveEBMFromIntegrationTopic_InputVar>
<part name="opaque">
<opaqueElement/>
</part>
</receiveEBMFromIntegrationTopic_InputVar>
Although in BPEL A the message that I have invoked produce_message on JMSAdapter is this :
<PublishEBMToTopic_Produce_Message_InputVar>
<part name="opaque">
<opaqueElement>
<ns2:HeaderMsg>
<ns2:MessageID>PIMS-2012-06-22T13:12:13+05:30</ns2:MessageID>
<ns2:MessageDate>2012-06-22T13:12:13+05:30</ns2:MessageDate>
<ns2:MessageVersion>V2</ns2:MessageVersion>
<ns2:MessagePriority>4</ns2:MessagePriority>
<ns2:MessageDomain>GPRD</ns2:MessageDomain>
<ns2:MessageRetryCount>0</ns2:MessageRetryCount>
<ns2:CorrelationID>PIMS-2012-06-22T13:12:13+05:30</ns2:CorrelationID>
<ns2:SourceSystemName>PIMS</ns2:SourceSystemName>
<ns2:SystemEnvironmentCode>Dev</ns2:SystemEnvironmentCode>
<ns2:BOName>Clinical Study</ns2:BOName>
<ns2:BOOperation>Sync</ns2:BOOperation>
<ns2:DownGradeVersionFlag>N</ns2:DownGradeVersionFlag>
</ns2:HeaderMsg>
<ns2:BodyMsg>
<ns2:ClinicalStudyEBO>
<ns2:StudyNumber>M13-3201</ns2:StudyNumber>
<ns2:ProtocolTitle>XYZ</ns2:ProtocolTitle>
<ns2:ABORecordInfo>
<ns2:LastSourcedFrom>PIMS</ns2:LastSourcedFrom>
<ns2:LastSourcedModifiedDate>2012-06-11T00:00:00.000+05:30</ns2:LastSourcedModifiedDate>
</ns2:ABORecordInfo>
</ns2:ClinicalStudyEBO>
</ns2:BodyMsg>
</opaqueElement>
</part>
</PublishEBMToTopic_Produce_Message_InputVar>
Can someone help me in knowing why I am getting an empty element in receivving side . Thanks for helping!
Regards,
Sridhar.Hi Sridhar,
First thing To do is certify that the published message is ok in the JMS topic.
You can check that in the Weblogic Admin Console, you will need a durable subscriber to be able to check messages in a topic, or change temporarily to a queue that is easier to check the messages that are in.
Cheers,
Vlad -
When executing a request/reply, calling .receive() on the consumer
causes this exception. The detailed error message is "Consumer has
listener".
Anyone seen this before?
Sample code of client:
tempdestination =
JMSConnectionHelper.getProducerQueueSession().createTemporaryQueue();
session =
JMSConnectionHelper.getConsumerQueueSession();
qr =
((QueueSession)session).createReceiver((Queue)tempdestination);
qr.setMessageListener(this);
// set the message properties
message.setJMSReplyTo(tempdestination);
// register a consumer
qr.setMessageListener(this);
// now send the message - helper class sends the message
to an MDB - that then composes a new message, and sends it to the
reply destination above
MessageManager.send(message);
// wait for the incoming reply
returnmessage = qr.receive(); // causes exception!!!!
User error. This is expected and documented behavior. See section 4.4.6 of
the JMS specification regarding the concurrent use of a session from
multiple threads of execution.
_sjz.
"Humphrey" <[email protected]> wrote in message
news:[email protected]..
> When executing a request/reply, calling .receive() on the consumer
> causes this exception. The detailed error message is "Consumer has
> listener".
> Anyone seen this before?
>
> Sample code of client:
> tempdestination =
> JMSConnectionHelper.getProducerQueueSession().createTemporaryQueue();
> session =
> JMSConnectionHelper.getConsumerQueueSession();
> qr =
> ((QueueSession)session).createReceiver((Queue)tempdestination);
> qr.setMessageListener(this);
>
> // set the message properties
> message.setJMSReplyTo(tempdestination);
>
> // register a consumer
> qr.setMessageListener(this);
>
> // now send the message - helper class sends the message
> to an MDB - that then composes a new message, and sends it to the
> reply destination above
> MessageManager.send(message);
>
> // wait for the incoming reply
> returnmessage = qr.receive(); // causes exception!!!!
Maybe you are looking for
-
Synching calendars between iPhone 3GS and MacBook Pro iCal
Since this morning, without having made any change to any setting whatsoever, entries made in the iPhone calendar seem to be duplicated in the iCal as many times as the two sync with each other. I've got the same entries duplicated 4 or 5 times. How
-
Robot/Copy-Paste Related questions
Hi guys and gals, I want to achieve the following tasks: (1) Copy some texts in a website starting from the cursor; (2) Analyze the texts. I am considering the following solution (which is complicated): Let Robot simulate the copy-paste process, and
-
Can i configure Tomcat in Jdeveloper
Hi All , please tell me how to configure tomcat server in my JDeveloper. thanks Ala
-
Exchanging iPhone 4 to iPhone 5 at apple stores an paying difference
Can I exchange my iphone 4 to iPhone 5 and pay the difference? But my home button isn't working!
-
ok ....so i've been 'learning' fireworks since ver 1 in 1998 . doh ! Suddenly though i have really got to grips with fw , making a nice interface /gallery for my gardening business . The one problem that i have is that when i scroll down to the midd