JMS-120
Hi,
I'm getting JMS-120 error after dequeueing a few messages. It works ok, if I only have a few messages in the queue. Here's the complete messages:
JMS-120: Dequeue failed
oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:233)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:1429)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:691)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:628)
at java.lang.Thread.run(Thread.java:479)
null
Try printing the linked JMS exception. This should give you more information about the error
catch (JMSException jms_ex)
jms_ex.printStackTrace();
if(jms_ex.getLinkedException() != null) jms_ex.getLinkedException().printStackTrace();
}
Similar Messages
-
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 -
I receives this error message when trying to dequeue a message in the log of my webapp.
If i connect to another database...it's working.
Could you help me to understand what could be wrong in my oracle intall, want parameter should be set to allow the reading of message.
Thanks in advance for your help
2011/07/14 18:03:36] WARN org.springframework.jms.listener.DefaultMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'IpConnectorQueue' - trying to recover. Cause: JMS-120: Dequeue failed
oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:315)
at oracle.jms.AQjmsConsumer.jdbcDequeue(AQjmsConsumer.java:1626)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1035)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:960)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:938)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:790)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:310)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException.Hi,
This forum is for Oracle MessageQ (also known as BEA MessageQ and DEC MessageQ), not JMS or AQ. I would suggest checking out the WebLogic Server or Oracle Database (since this looks like an AQ issue) forums for help with your problem.
Regards,
Todd Little
Oracle Tuxedo Chief Architect -
My JMS cannot dequeue the aq in DB (Exception JMS-120)
When debug throw the statement receiveNoWait(),it throw out exception JMS-120 dequeue failed,who can tell me why?
My method as below:
public void test()
QueueConnectionFactory qcfact;
QueueConnection qconn;
QueueSession session;
Queue queue;
QueueReceiver receiver;
try
System.out.println("Get the Queue");
qcfact = AQjmsFactory.getQueueConnectionFactory("10.118.1.79", "prod", 1521, "thin");
qconn = qcfact.createQueueConnection("aqadm", "aqadm");
session = qconn.createQueueSession(true, Session.CLIENT_ACKNOWLEDGE);
(true,session.AUTO_ACKNOWLEDGE);
qconn.start();
queue = ((AQjmsSession)session).getQueue("aqadm", "JOB_QUEUE");
System.out.println("Create Receiver...");
receiver = session.createReceiver(queue);
Message msg = session.createMessage();
msg = receiver.receiveNoWait();
session.commit();
catch(Exception e)
//System.out.println(e.getMessage());
e.printStackTrace();
ThanksHi,
I am not sure with OSB. I never seen the face of it. But when you say you are not able to see the subscriber in the table then you cannot consume the message.
Can quickly create AQJMS adapter service in bpel and select your topic and deploy the service in SOA server. Once it deploy go to the aq$my_topic1_s check if you able to see or not. And also try de-queue a message from the same topic.
I am using JMS Transport for Proxy Service and i have enabled the durable subscriber option as well. Please tell me how the entries in the subscribers table gets added.
You no need to do any thing. Just deploy your service and after that you should able to see record in the table. If record is not created then connection is not established between Topic and your service.
I have doubt with the endpoints only
jms://localhost:8011/aqjms.XATopicConnectionFactory/AqTopic
Your JNDI name for connection factories given as aqjms/XATopicConnectionFactory and here its aqjms.XATopicConnectionFactory. Can you check it.
Apart of this everthing looks same. Try above and let us know it.
Regards,
Tarak.
Edited by: Tarak on Nov 1, 2012 3:36 PM -
ORA-25228 error occurs when Foreign JMS Server connecting to the Oracle AQ
Hi,
I configure of a Foreign JMS Server that uses the Oracle JDBC Driver to connect to the AQ Topic. I use OSB messaging proxy service as a JMS client to connect the Foreign JMS Server. After the launch, I get the following error:
####<Jan 30, 2013 4:51:49 AM MSK> <Error> <EJB> <EPRUSARW0520> <osb_server1> <RequestEJB7826682746890400115XX35047bed.13c85602eea.X7f53> <<anonymous>> <> <0000Jm8w2Es6qI_5xRh8iW1H1sMk0001sD> <1359507109078> <BEA-010079> <An error occurred while attempting to receive a message from JMS for processing by a message-driven bean: oracle.jms.AQjmsException: JMS-120: Dequeue failed
Nested exception: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 11
ORA-25228: timeout or end-of-fetch during message dequeue from MDM.ALL_NSI
The exception is : oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:315)
at oracle.jms.AQjmsConsumer.jdbcDequeue(AQjmsConsumer.java:1620)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1035)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:960)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:938)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:790)
at weblogic.deployment.jms.WrappedMessageConsumer.receive(WrappedMessageConsumer.java:201)
at weblogic.ejb.container.internal.JMSMessagePoller$1.run(JMSMessagePoller.java:262)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.ejb.container.internal.JMSConnectionPoller.doPrivilegedJMSAction(JMSConnectionPoller.java:2752)
at weblogic.ejb.container.internal.JMSMessagePoller.processOneMessage(JMSMessagePoller.java:257)
at weblogic.ejb.container.internal.JMSMessagePoller.pollContinuously(JMSMessagePoller.java:351)
at weblogic.ejb.container.internal.JMSMessagePoller.pollForParent(JMSMessagePoller.java:483)
at weblogic.ejb.container.internal.JMSMessagePoller.run(JMSMessagePoller.java:499)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 11
ORA-25228: timeout or end-of-fetch during message dequeue from MDM.ALL_NSI
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4Caqdq.processError(T4Caqdq.java:497)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4Caqdq.doOAQDQ(T4Caqdq.java:183)
at oracle.jdbc.driver.T4CConnection.doDequeue(T4CConnection.java:4704)
at oracle.jdbc.driver.PhysicalConnection.dequeue(PhysicalConnection.java:17863)
at oracle.jdbc.driver.PhysicalConnection.dequeue(PhysicalConnection.java:17949)
at oracle.jdbc.OracleConnectionWrapper.dequeue(OracleConnectionWrapper.java:1624)
at weblogic.jdbc.wrapper.XAConnection_oracle_jdbc_driver_LogicalConnection.dequeue(Unknown Source)
at weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection.dequeue(Unknown Source)
at oracle.jms.AQjmsConsumer.jdbcConnectionDequeueCheck25242(AQjmsConsumer.java:1713)
at oracle.jms.AQjmsConsumer.jdbcDequeue(AQjmsConsumer.java:1295)
... 13 moreHowever, when I put message to AQ topic, the OSB proxy receives and processes it. But SQLException occurs every five seconds and pollute logs.
Request help to resolve this.
Thanks in advance.
Regards
Alexander.Maybe this can help: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:4018285967344
-
I've wrote a PL/SQL procedure which sending JMS TxtType messages to oracle queue.
Another PL/SQL procedure can dequeue and process this messages, what I really need is read this messages by Java JMS programm on client site. Here the output from java code,
everything is happening/not happening on
tmsg = (TextMessage)qrecv.receive();
the most strange thisng here is that I can write in the same queue from java program and read from it using java code which was failing before. Sounds like some TextMessage properties should be set during enqueing, but I did not find anything in oracle docs
any help is highly appresiated
thank ilia
uccessfully created QueueSession
Get the Queue
Create Receiver...
Get Message...
Error in getting message: oracle.jms.AQjmsException: JMS-120: Dequeue failed
Exception-1: oracle.jms.AQjmsException: JMS-120: Dequeue failed
oracle.jms.AQjmsException: JMS-120: Dequeue failed
at java.lang.Throwable.<init>(Throwable.java:96)
at java.lang.Exception.<init>(Exception.java:44)
at javax.jms.JMSException.<init>(JMSException.java:50)
at oracle.jms.AQjmsException.<init>(AQjmsException.java:50)
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:233)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:1429)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:685)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:597)
at aq.aq.rcv(Aq.java:79)
at aq.aq.main(Aq.java:18)
nullAs Pradeep said, auto-correction is one of the linguistic features that isn't supported for wildcard searching (along with stemming, thesaurus, snippeting and phrasing). One approach is to do a "cascading search", so execute a search without wildcarding first (and getting spell-correction, did-you-mean, stemming etc.), and if you don't get any matches then re-submit as a wildcarded search. This is also useful as part of a larger part number matching strategy.
Michael -
Advanced Queuing for Oracle / Dequeue failed
Hi *,
I'm using Oracle Advanced Queuing and OC4J with some MDBs. Unfortunately sometimes I have following exception:
03-05-21 10:29 Error listening to 'USER_QUEUE'
oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:283)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:2034)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:981)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:918)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:834)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:905)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:797)
at java.lang.Thread.run(Thread.java:479)
All messages hang in my queue with READY state. I really don't know what is happening.
I have observed that when I run my MDB, but on the different machine, one message is consumed and the same exception arises.
Why Oracle cannot run dequeue process correctly?
best regards
MaciekWe had similar problems. Mostly the cause was incorrect message type (other than AQ$_JMS..., i. e. ancestor of "message" class) or incorrectly filled body of a message. For example, there seems to be a bug in AQ$_JMS_TEXT_MESSAGE object: you have to set at least one of varchar2 or CLOB in body of message. Otherwise, dequeue will fail, JMS assumes there is some text inside.
We are using 8i and 9i databases and messages are created using plain constructors (not methods from 9i, since code has to run on either version). I cannot recall any troubles using methods from 9i during researching, but there might be a bug somewhere.
Myrra -
Exception when trying to dequeue text message.
I have WebLogic Server 10.3.5 and i used this tutorial http://download.oracle.com/docs/cd/E12839_01/web.1111/e13738/aq_jms.htm to connect AQ on Oracle Database 11g with WebLogic Server as a Foreign Server.
I can enqueue text message from application written in java using javax.jms library.
But everytime i try to dequeue text message i get this exception on WebLogic Server:
<Error> <EJB> <BEA-010079> <An error occurred while attempting to receive a message from JMS for processing by a message-driven bean: oracle.jms.AQjmsException: JMS-120: Dequeue failed
Nested exception: oracle.jms.AQjmsException: JMS-122: Internal error Corrupted message
The exception is : oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:315)
at oracle.jms.AQjmsConsumer.jdbcDequeue(AQjmsConsumer.java:1626)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1035)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:960)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:938)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:790)
at weblogic.deployment.jms.WrappedMessageConsumer.receive(WrappedMessageConsumer.java:201)
at weblogic.ejb.container.internal.NewJMSMessagePoller$1.run(NewJMSMessagePoller.java:264)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.ejb.container.internal.JMSConnectionPoller.doPrivilegedJMSAction(JMSConnectionPoller.java:2702)
at weblogic.ejb.container.internal.NewJMSMessagePoller.processOneMessage(NewJMSMessagePoller.java:260)
at weblogic.ejb.container.internal.NewJMSMessagePoller.run(NewJMSMessagePoller.java:120)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: oracle.jms.AQjmsException: JMS-122: Internal error Corrupted message
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:334)
at oracle.jms.AQjmsUtil.getTextData(AQjmsUtil.java:750)
at oracle.jms.AQjmsTextMessage.readTextMessageContainer(AQjmsTextMessage.java:308)
at oracle.jms.AQjmsTextMessage.<init>(AQjmsTextMessage.java:148)
at oracle.jms.AQjmsConsumer.jdbcDequeue(AQjmsConsumer.java:1389)
... 13 more
Anyone can help me?Hi,
the problem is on the AQ side.
Here, it is recommended to use UNICODE Database charcterset AL32UTF8.
Hope this helps!
Michael -
ALC-LCM-120-207 JMS settings failed validation
during install, got error at the step "Application Server Configuration Validation" step:
JMS settings failed validation
Failed to validate queue connection factory QueueConnectionFactory
any suggestions on how to get this fixed would be much appreciated.
there was no error whatsoever before this step.
the platform is: Windows 2003, WebSphere, SQL Server.
thanksJasmin, thanks for response.
WAS version is:
IBM WebSphere Application Server, 6.1.0.5
Build Number: cf50652.12
Build Date: 12/28/06
java -version returns "1.5.0".
not a cluster.
As far as I know, LC ES has not been installed on it before.
After I got the error, I checked the QueueConnectionFactory (using WebSphere console) by following the ES install guide's "Manual Configuring WebSphere" chapter. The only thing that didn't match on that screen was that nothing was set in the "XA recovery authentication alias" dropdown.
What to do next? -
JDBC connection pool failures when used by JMS stores
We are using WebLogic 6.1 sp2. We defined a separate connection pool for use by
a JMS Store.
<JDBCConnectionPool Name="sybaseJMSPool"
Targets="cluster00"
InitialCapacity="2"
MaxCapacity="10"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;charset=utf8"
URL="jdbc:sybase:Tds:@jms.db.host@/@jms.db.name@"/>
(note that the @xxx@ string are replaced by actual values).
We are using Sybase Jconnect 5.5 to a Sybase ASE 12.5 database.
We deployed this configuration on a number of environments (testing, staging,
..). The actual hardware and network configuration is different for the different
system, but the WebLogic domain stays the same regarding this issue.
On the test system we frequently get the following exceptions:
<Aug 13, 2002 1:56:04 PM CEST> <Alert> <JMS> <www00-test> <node00>
<ExecuteThread: '6' for queue: 'JMS.TimerClientPool'> <> <> <040048>
<JMSServer "JMSServer00", store failure while writing message for topic
OrderChangeTopic, java.io.IOException: JMS JDBC store, connection pool =
<sybaseJMSPool>, prefix = <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
.>
java.io.IOException: JMS JDBC store, connection pool = <sybaseJMSPool>, prefix
= <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
at weblogic.jms.store.JDBCIOStream.throwIOException
(JDBCIOStream.java:1213)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1256)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Before that this message appeared:
<Aug 13, 2002 11:31:16 AM CEST> <Error> <ConnectionManager> <www00-test>
<node00> <ExecuteThread: '26' for queue: 'default'> <> <> <000000>
<Closing: 'weblogic.rjvm.t3.T3JVMConnection@795af6' because of: 'Server
received a message over an uninitialized connection: 'JVMMessage from: 'null'
to: '-4555218188801970213S:192.168.13.1:[7001,7001,7002,7002,7001,7002,-
1]:ADIS:node00' cmd: 'CMD_REQUEST', QOS: '101', responseId: '1',
invokableId: '287', flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev
offset: '34'''>
This problem did not occur on another system which was used during a 2 day stress
testing session.
It seems that the problem occurs after a period in which no user request where
made. The user requests trigger EJB's that start sending JMS messages.
When the problem occurs, the JMS messaging systems seems to lock up as no messages
are received anymore by the different listeners (MDBs).
Undeploying and redeploying the JBDC connection pool solves the problem. This
solution is unacceptable in case of a production system.
A similarly defined connection pool, which is used by the EJBs to make database
connection, does not manifest this problem.
<JDBCConnectionPool Name="sybasePool"
Targets="cluster00"
InitialCapacity="10"
CapacityIncrement="5"
MaxCapacity="50"
PreparedStatementCacheSize="150"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;JCONNECT_VERSION=6;charset=utf8"
URL="jdbc:sybase:Tds:@db.host@/@db.name@"/>
The JDBC connection pool is used as follows by the JDBC store
<JMSJDBCStore ConnectionPool="sybaseJMSPool" Name="JDBCStore00" PrefixName="JMS00"/>
<JMSServer Name="JMSServer00" Store="JDBCStore00" Targets="node00">
<JMSTopic JNDIName="ADIS.JMSError" JNDINameReplicated="false" Name="ErrorTopic"/>
<JMSTopic JNDIName="ADIS.Status"
Name="StatusTopic" RedeliveryDelayOverride="300000"/>
<JMSTopic JNDIName="ADIS.OrderChange" JNDINameReplicated="false"
Name="OrderChangeTopic" RedeliveryLimit="3"/>
</JMSServer>
Turning on the "Test Reserved Connection" with a appropriate test table does not
help.
Some sources on the internet tell us that JZ0C0 errors in the Jconnect driver
can be related to network problems. Nevertheless the connection pool should be
able to cope with this.
Can you provide any solution for this ? Or give us hints what can cause the problem
Zhenhao Qi wrote:
thanks! Joe.
The SQL statement itself can no longer be simplified, the long excuation time is due to the database size and complicated Select criteria. I can easily reproduce the problem by using this SQL. I tried "BEA's Oracle driver (Type 4): Version 8.1.7,9.0.1,9.2.0". the question can be dissect into 2 pieces:
1) why the jdbc connection (using oracle.jdbc.OracleDriver) won't return anything if the SQL execution time > 5min, that is probably the Oracle's problem
2) why the occupied connection pool won't release even I set "Statementtimeout=600", this is Weblogic's problem.
ZhenhaoHi. Yes, (1) is oracle's problem. (2) may also be. The JDBC spec has very few
allowances for one thread to interrupt a second thread's JDBC call. If we
transmit your timeout request by calling setQueryTimeout() on the oracle
statement, and if you have a weblogic-controlled transaction we call
Statement.cancel() on any ongoing statement, we end up relying on whether
the Oracle driver implements and responds to those calls.
Are you doing weblogic-controlled transactions? Are you/can you
call Statement.setQueryTimeout() on your statements, or are these
generated JDBC queries?
If you can duplicate the problem using the weblogic.jdbc.oracle.OracleDriver
we have some other debug avenues. This would be good even if you really
want to use the thin driver, because we will do the same JDBC calls to
either driver, and the debug would prove (if) we set up a query timeout
and if we call cancel(). If we do, then we can know that it is the Oracle
driver failing in these regards.
Joe -
Problem to send a message with JMS
Hi
I'm doing some tests with the api JMS to know how works. I have got some problems. I have been looking for some information but i don't find so much. I have got too doubts.
I am usinng Netbeans 5.5 with Sun Java System Application Server Platform Edition 9.0_01 (build b14).
I am trying to do it with ejb. Because in the future the application can have got so many connection in the same time.
The server shows me the next errors.
Starting Sun Java System Application Server Platform Edition 9.0_01 (build b14) ...
CORE5098: AS Socket Service Initialization has been completed.
CORE5076: Using [Java HotSpot(TM) Client VM, Version 1.6.0_03] from [Sun Microsystems Inc.]
SEC1002: Security Manager is OFF.
ADM0001:MBeanServer initialized successfully
SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
sgmt.service_initialized
DPL5400:Exception occurred : error in opening zip file.
ADM1079: Initialization of AMX MBeans successful
ADM1504: Here is the JMXServiceURL for the Standard JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://t1:8686/jmxrmi]. This is where the remote administrative clients should connect using the standard JMX connectors
ADM1506: Status of Standard JMX Connector: Active = [true]
JTS5014: Recoverable JTS instance, serverId = [3700]
About to load the system app: MEjbApp
LDR5010: All ejb(s) of [MEjbApp] loaded successfully!
About to load the system app: __ejb_container_timer_app
EJB5109:EJB Timer Service started successfully for datasource [jdbc/__TimerPool]
LDR5010: All ejb(s) of [__ejb_container_timer_app] loaded successfully!
NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
appId=Chat-ejb moduleName=Chat-ejb ejbName=publicarBean
LDR5004: UnExpected error occured while creating ejb container
javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:198)
at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
Caused by: javax.naming.NameNotFoundException
at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
... 17 more
CORE5021: Application NOT loaded: [Chat-ejb]
WEB0302: Starting Sun-Java-System/Application-Server.
WEB0100: Loading web module [__default-admingui] in virtual server [__asadmin] at [/]
WEB0100: Loading web module [adminapp] in virtual server [__asadmin] at [/web1]
WEB0100: Loading web module [admingui] in virtual server [__asadmin] at [/asadmin]
WEB0100: Loading web module [amserver] in virtual server [server] at [/amserver]
Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8080
WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8181
WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 4848
About to load the system app: __JWSappclients
WEB0100: Loading web module [__JWSappclients:sys.war] in virtual server [server] at [/__JWSappclients]
Using MQ RA for Broker lifecycle control
JMS Service Connection URL is :mq://t1:7676/
MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting...
EB-start:brokerProps={imq.instancename=imqbroker, imq.jmx.rmiregistry.port=8686, BrokerArgs=-port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686, imq.jmx.rmiregistry.use=true, imq.portmapper.port=7676}
[07/nov/2007:18:35:03 CET]
================================================================================
Sun Java(tm) System Message Queue 4.0
Sun Microsystems, Inc.
Version: 4.0 (Build 27-a)
Compile: Thu 03/02/2006
Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
This product includes code licensed from RSA Data Security.
================================================================================
Java Runtime: 1.6.0_03 Sun Microsystems Inc. D:\sun\Java\jdk1.6.0_03\jre
[07/nov/2007:18:35:03 CET] IMQ_HOME=D:\sun\AppServer\imq
[07/nov/2007:18:35:03 CET] IMQ_VARHOME=D:\sun\AppServer\domains\domain1\imq
[07/nov/2007:18:35:03 CET] Windows XP 5.1 x86 t1 (1 cpu) pepepc
[07/nov/2007:18:35:03 CET] Java Heap Size: max=506816k, current=46944k
[07/nov/2007:18:35:03 CET] Arguments: -port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686
[07/nov/2007:18:35:04 CET] [B1060]: Loading persistent data...
[07/nov/2007:18:35:04 CET] Using built-in file-based persistent store: D:\sun\AppServer\domains\domain1\imq\instances\imqbroker\
[07/nov/2007:18:35:04 CET] [B1189]: Cluster Service feature is not available
[07/nov/2007:18:35:04 CET] [B1039]: Broker "imqbroker@t1:7676" ready.
MQJMSRA_EB1101: run:EMBEDDED broker started with code =0
MQJMSRA_RA1101: SJSMQ JMS ResourceAdaapter configuration=
raUID =null
brokerType =EMBEDDED
brokerInstanceName =imqbroker
brokerBindAddress =null
brokerPort =7676
brokerHomeDir =D:\Sun\AppServer\imq\bin\..
brokerVarDir =D:/sun/AppServer/domains/domain1\imq
brokerJavaDir =D:/sun/Java/jdk1.6.0_03
brokerArgs =null
brokerStartTimeout =60000
adminUsername =admin
adminPassFile =E:\tempWin\asmq21980.tmp
useJNDIRmiServiceURL =true
rmiRegistryPort =8686
startRmiRegistry =false
useSSLJMXConnector =true
brokerEnableHA =false
clusterId =null
brokerId =null
jmxServiceURL =null
dbType =null
dbProps ={}
dsProps ={}
ConnectionURL =
UserName =guest
ReconnectEnabled =true
ReconnectInterval =5000
ReconnectAttempts =3
AddressListBehavior =RANDOM
AddressListIterations =3
InAppClientContainer =false
InClusteredContainer =false
GroupName =null
MQJMSRA_RA1101: start:SJSMQ JMSRA Connection Factory Config={imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=3, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=0, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=false, imqConnectionFlowCount=100, imqAddressListBehavior=PRIORITY, imqReconnectAttempts=3, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=5000, imqAddressList=localhost:7676, imqOverrideJMSHeadersToTemporaryDestinations=false}
MQJMSRA_RA1101: SJSMQ JMSRA Started
endpoint.determine.destinationtype
NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
appId=Chat moduleName=Chat-ejb_jar ejbName=publicarBean
LDR5004: UnExpected error occured while creating ejb container
javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:184)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:113)
at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:204)
at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
Caused by: javax.naming.NameNotFoundException
at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
... 18 more
Registering ad hoc servlet: WebPathPath: context root = "/Chat", path = "/Chat-app-client'
Java Web Start services started for application com.sun.enterprise.appclient.jws.ApplicationContentOrigin@aabc2d registration name=Chat
[email protected]56b4 registration name=Chat, context root=/Chat/Chat-app-client, module name=
, parent=Chat
CORE5021: Application NOT loaded: [Chat]
SMGT0007: Self Management Rules service is enabled
Application server startup complete.
JBISE6013: JavaEEServiceEngine : Java EE Service Engine started successfully.
CORE5024: EJB module [Chat-ejb] unloaded successfully!
DeployedItemRef postDeregistration failed. Load Balancer Monitoring MBeans might be lying around if this application is being load balanced
BPEL service engine started
ADM1064:The upload file at [E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar] exists and will be overwritten.
ADM1006:Uploading the file to:[E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar]
deployed with moduleid = Chat-ejb
ADM1041:Sent the event to instance:[ModuleDeployEvent -- enable ejb/Chat-ejb]
endpoint.determine.destinationtype
NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
appId=Chat-ejb moduleName=D__sun_AppServer_domains_domain1_applications_j2ee-modules_Chat-ejb ejbName=publicarBean
LDR5004: UnExpected error occured while creating ejb container
javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:219)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:174)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:406)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleEnabled(StandAloneEJBModulesManager.java:500)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:960)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:941)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:448)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:160)
at com.sun.enterprise.admin.server.core.AdminNotificationHelper.sendNotification(AdminNotificationHelper.java:128)
at com.sun.enterprise.admin.server.core.ConfigInterceptor.postInvoke(ConfigInterceptor.java:109)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:97)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:297)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:56)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:142)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:109)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: javax.naming.NameNotFoundException
at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
... 54 more
CORE5020: Error while loading ejb module
{code}
I know it is very large. I think the error it is in this line.
{code}
NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
{code}
also I am going to put the code.
file PublicarBean.java
{code}
package org.pepes;
import com.sun.tools.ws.processor.model.java.JavaArrayType;
import javax.annotation.Resource;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.jms.ConnectionFactory;
import javax.jms.QueueConnectionFactory;
import javax.jms.Topic;
import javax.naming.NamingException;
* @author pepes
@Stateless(mappedName="ejb/publicar")
public class publicarBean implements org.pepes.publicarRemote {
/** Creates a new instance of publicarBean */
@Resource(name="jms/QueueConnectionFactory")
private QueueConnectionFactory connectionFactory;
@Resource(name="jms/Topic", mappedName="jndi/Topic")
private Topic topic;
private javax.naming.InitialContext ctx;
public publicarBean() {
public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException {
try {
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
this.connectionFactory = (javax.jms.QueueConnectionFactory)ctx.lookup("jms/QueueConnectionFactory");
this.topic = (javax.jms.Topic)ctx.lookup("jms/Topic");
javax.jms.Connection connection = this.connectionFactory.createConnection();
javax.jms.TopicSession ts = (javax.jms.TopicSession)connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
javax.jms.TopicPublisher tp = ts.createPublisher(this.topic);
javax.jms.TextMessage msg = ts.createTextMessage();
for (int i = 0; i<3;i++) {
msg.setText("Prueba: " + i);
tp.publish(msg);
catch (javax.jms.JMSException jmex) {
throw jmex;
{code}
the file publicarRemote.java
{code}
package org.pepes;
import javax.ejb.Remote;
* This is the business interface for publicar enterprise bean.
@Remote
public interface publicarRemote {
public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException;
{code}
file mensaje.java
{code}
package org.pepes;
import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenContext;
import javax.jms.Message;
import javax.jms.MessageListener;
* Entity class Mensaje
* @author pepes
@MessageDriven(mappedName = "jms/Mensaje", activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
public class Mensaje implements MessageListener {
/** Creates a new instance of Mensaje */
@Resource
private MessageDrivenContext mdc;
public Mensaje() {
public void onMessage(Message message) {
javax.jms.TextMessage msg = null;
try {
if (message instanceof javax.jms.TextMessage) {
msg = (javax.jms.TextMessage) message;
System.out.println(msg.getText());
} else {
System.out.println("Message of wrong type: "
+ message.getClass().getName());
} catch (javax.jms.JMSException e) {
e.printStackTrace();
mdc.setRollbackOnly();
} catch (Throwable te) {
te.printStackTrace();
{code}
the file prueba.jsp
{code}
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>JSP Page</h1>
<%--
This example uses JSTL, uncomment the taglib directive above.
To test, display the page like this: index.jsp?sayHello=true&name=Murphy
--%>
<%--
<c:if test="${param.sayHello}">
<!-- Let's welcome the user ${param.name} -->
Hello ${param.name}!
</c:if>
--%>
<%
try {
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
org.pepes.publicarRemote publisher = (org.pepes.publicarRemote)ctx.lookup("ejb/publicar");
if (publisher==null) {
System.out.println("INFO: Es null");
else {
System.out.println("INFO: No es null");
publisher.creaMensaje();
} catch (javax.naming.NamingException ex) {
System.out.println("ERROR naming: " + ex.getMessage());
catch (javax.jms.JMSException jmex) {
System.out.println("ERROR jms: " + jmex.getMessage());
catch (java.lang.NullPointerException nullex) {
System.out.println("ERROR null: " + nullex.getMessage());
%>
</body>
</html>
{code}
I think the problem is because i don't put destination address. if it is so, the true where do I put this address?. if not where is the problem?
I hope your help.
Thanks you in advanced.Hi,
Did you create your destinations in your application server? It seems that the destinations such as topics and queues are not created. First you should create them and then start using them.
For example, in here, it says that jndi/Topic is not valid. To check if the destinations are valid or not; you can do it either through the graphical user interface or the command line console. -
I am not able to create a JMS connection from a custom component in UCM
I am trying to create a custom component which makes a JMS connection and inserts messages in JMS Queue.
THe JMS server is hosted on Weblogic Application Server.
When the code runs I am getting the factory object and the queue object.
But when I try to get a connection it throws an error as pasted below.
WHen I googled the same error It has shown a simliar problem in TOmcat in sun thread
It said two jar files xerces.jar and xml-apis.jar are obsolete.
I replaced with the new version.
still the same problem occurred
Please help
Pasting the code and exception here
Code __________________________________________
import java.util.Date;
import java.util.Hashtable;
import javax.jms.*;
import javax.naming.*;
import weblogic.jms.client.WLConnectionImpl;
import weblogic.jms.extensions.*;
import javax.rmi.PortableRemoteObject;
public class SimpleProducer {
public static void drive() {
final int NUM_MSGS;
NUM_MSGS = 93;
Context jndiContext = null;
Hashtable<String, String> ht;
ht = new Hashtable<String, String>();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://punitp52975d:7001");
try {
jndiContext = new InitialContext(ht);
} catch (NamingException e) {
System.out.println("Could not create JNDI API context: " +
e.toString());
System.exit(1);
ConnectionFactory connectionFactory = null;
Destination dest = null;
try {
Object home = jndiContext.lookup("CNFT"); // where iiopTestDS is jndi name for my DataSource.
connectionFactory =(ConnectionFactory)PortableRemoteObject.narrow(home , ConnectionFactory.class);
Object home1 = jndiContext.lookup("QUEUE2"); // where iiopTestDS is jndi name for my DataSource.
dest =(Destination)PortableRemoteObject.narrow(home1 , Destination.class);
/*connectionFactory = (ConnectionFactory) jndiContext.lookup(
"CNFT");
dest = (Destination) jndiContext.lookup("QUEUE2");
System.out.println("connectionFactory,dest "+connectionFactory+dest);*/
} catch (Exception e) {
System.out.println("JNDI API lookup failed: " + e.toString());
e.printStackTrace();
System.exit(1);
//WLConnectionImpl connection = null;
WLConnection connection = null;
WLMessageProducer producer = null;
try {
System.out.println("Getting Connection "+(WLConnection) connectionFactory.createConnection());
//connection = (WLConnection) connectionFactory.createConnection();
System.out.println("Connection created");
WLSession session =
(WLSession) connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
producer = (WLMessageProducer) session.createProducer(dest);
WLMessage message = (WLMessage) session.createTextMessage();
//TextMessage message = session.createTextMessage();
for (int i = 91; i < NUM_MSGS; i++) {
((TextMessage) message).setText("This is message " + (i + 1));
Long l = new Date().getTime();
message.setLongProperty("ReleasedDate",l );
System.out.println("Sending message: " + ((TextMessage) message).getText());
producer.send(message);
producer.send(session.createMessage());
} catch (Exception e) {
System.out.println("Exception occurred: " + e.toString());
} catch (Throwable et) {
System.out.println("Exception occurred: " + et.toString());
et.printStackTrace();
finally {
if (connection != null) {
try {
connection.close();
} catch (Exception e) {
System.out.println("*************Instantiating Producer***************");
Exception_________________________________________________________________
Exception occurred: java.lang.NoSuchMethodError: javax.xml.parsers.SAXParserFactory.getSchema()Ljavax/xml/validation/Schema;
java.lang.NoSuchMethodError: javax.xml.parsers.SAXParserFactory.getSchema()Ljavax/xml/validation/Schema;
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:124)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:115)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:143)
at weblogic.xml.jaxp.WebLogicSAXParserFactory.<init>(WebLogicSAXParserFactory.java:62)
at weblogic.rmi.internal.wls.WLSRMIEnvironment.getSAXParser(WLSRMIEnvironment.java:136)
at weblogic.rmi.internal.DescriptorManager.getDescriptorAsMap(DescriptorManager.java:170)
at weblogic.rmi.internal.DescriptorManager.getDescriptorAsMap(DescriptorManager.java:159)
at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:104)
at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:85)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:51)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:37)
at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:194)
at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:175)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceRemote(RemoteObjectReplacer.java:120)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:103)
at weblogic.rmi.extensions.server.ServerHelper.exportObject(ServerHelper.java:223)
at weblogic.rmi.internal.OIDManager.initializeDGCServer(OIDManager.java:231)
at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:144)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceRemote(RemoteObjectReplacer.java:120)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:103)
at weblogic.rmi.extensions.server.ServerHelper.exportObject(ServerHelper.java:223)
at weblogic.corba.server.naming.ReferenceHelperImpl.exportObject(ReferenceHelperImpl.java:233)
at weblogic.rmi.extensions.PortableRemoteObject.exportObject(PortableRemoteObject.java:34)
at weblogic.messaging.dispatcher.DispatcherImpl.export(DispatcherImpl.java:85)This is probably related to this other issue http://www.adobeforums.com/webx/.59b7fbab/0.
Jasmin -
JMS Send Transaction Failing, due to resources could not be assigned
I am trying to get a transaction of a JMS send to work where the origination of the send occurs in domain A and the message queue is hosted in domain B. I have been able to get this to work; however, this issue has shown up in recent tests. I haven't changed anything other than the version of the Oracle database client that is being used. I don't see any relationship between that and the persistent store.
Both domains are hosted on the same computer and both domains are simple development domains. Trust is established between the domains using 'global trust'.
I'm running Weblogic Server 10.3.4..
I'm not sure how to get around this issue. I can't find any documentation...
My suspicion is that there needs to be some special configuration for the transaction, since I'm using the default persistence store. The warnings seem to indicate the problem. The AdminServer is hosted on domain A and the AuditAdminServer on domain B...
Any assistance will be greatly appreciated!
Thanks in advance...
Here is the stacktrace:
<Apr 11, 2013 11:17:05 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
<Apr 11, 2013 11:17:25 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
<Apr 11, 2013 11:19:47 AM MDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)],Xid=BEA1-003FA101855115C0DB45(13340960),Status=Rolling Back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=183,seconds left=22,XAServerResourceInfo[DefaultXADataSource_vhie_domain]=(ServerResourceInfo[DefaultXADataSource_vhie_domain]=(state=rolledback,assigned=AdminServer),xar=DefaultXADataSource,re-Registered = false),XAServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(ServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(ServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(state=rolledback,assigned=AdminServer),xar=WLStore_vhie_domain_VhieFileStore1316539,re-Registered = false),SCInfo[vhie_domain+AdminServer]=(state=rolledback),SCInfo[audit_domain+AuditAdminServer]=(state=rolling-back),properties=({weblogic.transaction.name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)]}),local properties=({weblogic.jdbc.jta.DefaultXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+, XAResources={WLStore_vhie_domain_VhieFileStore, SDSDataSource_vhie_domain, DefaultXADataSource_vhie_domain, eis/jms/WLSConnectionFactoryJNDIXA, WSATGatewayRM_AdminServer_vhie_domain},NonXAResources={})],CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+): weblogic.transaction.RollbackException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1881)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:345)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:625)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)
at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:444)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)
at gov.va.med.datasharing.core.ServiceBus_r6xnti_ServiceBusImpl.processInbound(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
at $Proxy89.processInbound(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy91.processInbound(Unknown Source)
at gov.va.med.datasharing.web.ServiceBusDelegate.processInbound(ServiceBusDelegate.java:43)
at gov.va.med.datasharing.web.adc.PatientServiceImpl.changeADCStatus(PatientServiceImpl.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:97)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:81)
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:98)
at org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
at org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
at org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
at org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
at org.springframework.webflow.engine.Transition.execute(Transition.java:211)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
at org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:1153)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2200)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:279)
... 77 more
.>It turns out that those packages are, indeed, in extra.
I didn't think to look there, since I assumed that everything needed by base would be in [core].
I assumed wrong. -
Bridge JMS on SSL Mutual authenticathed Servers
Hi all,
I'm facing a problem on bridging JMS message with WLS bridge on SSL Mutual authenticathed Servers
I configured two WLS (8.1 SP6), say "ALICE" and "BOB", with SSL listen port and I enabled "Two Way Client Cert Behavior" with "Client Certs Requested and Enforced" for both servers.
I configured a WLS bridge on ALICE with source destination on ALICE itself and target destination on BOB.
When I start this bridge it cannot connect to BOB. I enabled SSL debug and I found that ALICE didn't send CLIENT certificate to BOB.
Here is BOB's log:
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <Filtering JSSE SSLSocket>
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <SSLIOContextTable.addContext(ctx): 32975481>
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <SSLSocket will be Muxing>
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <SSLFilter.isActivated: false>
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <isMuxerActivated: false>
<22-mag-2008 14.56.10 CEST> <Debug> <TLS> <000000> <SSLFilter.isActivated: false>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <7192496 SSL Version 2 with no padding>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <21231495 SSL3/TLS MAC>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <21231495 received SSL_20_RECORD>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <HANDSHAKEMESSAGE: ClientHelloV2>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <write HANDSHAKE, offset = 0, length = 58>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <write HANDSHAKE, offset = 0, length = 566>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <write HANDSHAKE, offset = 0, length = 260>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <write HANDSHAKE, offset = 0, length = 4>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <SSLFilter.isActivated: false>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <isMuxerActivated: false>
<22-mag-2008 14.56.12 CEST> <Debug> <TLS> <000000> <SSLFilter.isActivated: false>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <21231495 SSL3/TLS MAC>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <21231495 received HANDSHAKE>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <HANDSHAKEMESSAGE: Certificate>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <validationCallback: validateErr = 0>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <Required peer certificates not supplied by peer>
<22-mag-2008 14.56.13 CEST> <Warning> <Security> <BEA-090508> <Certificate chain received from localhost - 127.0.0.1 was incomplete.>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <Validation error = 4>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <Certificate chain is incomplete>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <User defined JSSE trustmanagers not allowed to override>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <SSLTrustValidator returns: 68>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <Trust failure (68): CERT_CHAIN_INCOMPLETE>
<22-mag-2008 14.56.13 CEST> <Debug> <TLS> <000000> <NEW ALERT with Severity: FATAL, Type: 40
and here is ALICE's log:
<22-mag-2008 15.28.01 CEST> <Warning> <Connector> <BEA-190032> << Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException of javax.resource.ResourceException: ConnectionFactory: failed to get
initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = t3s://localhost:7002, user name = jmsbob) on createManagedConnection.>
<22-mag-2008 15.28.01 CEST> <Info> <MessagingBridge> <BEA-200043> <Bridge "AliceToBobMessagingBridge" failed to connect to the target destination and will try again in 25 seconds. (java.lang.Exception: javax.resource.ResourceException: Conn
ectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = t3s://localhost:7002, user name = jmsbob)
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1386)
at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1366)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:345)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:219)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:188)
at weblogic.connector.common.internal.ConnectionFactory.createResource(ConnectionFactory.java:127)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1193)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:345)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:286)
at weblogic.connector.common.internal.ConnectionPool.reserveResource(ConnectionPool.java:567)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:280)
at weblogic.connector.common.internal.ConnectionPoolManager.getConnection(ConnectionPoolManager.java:650)
at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:106)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:120)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:809)
at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.java:991)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
-------------- Linked Exception ------------
javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://localhost:7002: Destination unreachable; nested exception is:
javax.net.ssl.SSLHandshakeException: [Security:090497]HANDSHAKE_FAILURE alert received from localhost - 127.0.0.1. Check both sides of the SSL configuration for mismatches in supported ciphers, supported protocol versions, trusted C
As, and hostname verification settings.; No available router to destination]
at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:47)
at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:651)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:320)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:253)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:135)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at weblogic.jms.adapter.JMSBaseConnection.getInitialContext(JMSBaseConnection.java:1967)
at weblogic.jms.adapter.JMSBaseConnection.startInternal(JMSBaseConnection.java:233)
at weblogic.jms.adapter.JMSBaseConnection.start(JMSBaseConnection.java:219)
at weblogic.jms.adapter.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:188)
at weblogic.connector.common.internal.ConnectionFactory.createResource(ConnectionFactory.java:127)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1193)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:345)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:286)
at weblogic.connector.common.internal.ConnectionPool.reserveResource(ConnectionPool.java:567)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:280)
at weblogic.connector.common.internal.ConnectionPoolManager.getConnection(ConnectionPoolManager.java:650)
at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:106)
at weblogic.jms.adapter.JMSBaseConnectionFactory.getTargetConnection(JMSBaseConnectionFactory.java:120)
at weblogic.jms.bridge.internal.MessagingBridge.getConnections(MessagingBridge.java:809)
at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.java:991)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.net.ConnectException: t3s://localhost:7002: Destination unreachable; nested exception is:
javax.net.ssl.SSLHandshakeException: [Security:090497]HANDSHAKE_FAILURE alert received from localhost - 127.0.0.1. Check both sides of the SSL configuration for mismatches in supported ciphers, supported protocol versions, trusted C
As, and hostname verification settings.; No available router to destination
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:200)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:125)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:310)
... 23 more
)>
<22-mag-2008 15.28.09 CEST> <Info> <MessagingBridge> <BEA-200036> <The Started attribute of Bridge "AliceToBobMessagingBridge" has been changed from "true" to "false".>
What I need to do to avoid this problem?
Nathan65I checked my configuration. ALICE's keystores are
IDENTITY
Tipo keystore: jks
Provider keystore: SUN
Il keystore contiene 2 entry
Nome alias: certgenca
Data di creazione: 21-mag-2008
Tipo entry: trustedCertEntry
Proprietario: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: 234b5559d1fa0f3ff5c82bdfed032a87
Valido da Thu Oct 24 17:54:45 CEST 2002 a Tue Oct 25 17:54:45 CEST 2022
Impronte digitali certificato:
MD5: A2:18:4C:E0:1C:AB:82:A7:65:86:86:03:D0:B3:D8:FE
SHA1: F8:5D:49:A4:12:54:78:C7:BA:42:A7:14:3E:06:F5:1E:A0:D4:C6:59
Nome alias: alicecert
Data di creazione: 21-mag-2008
Tipo entry: keyEntry
Lunghezza catena certificati: 1
Certificato[1]:
Proprietario: [email protected], OU=CompetenceCenter, O=ValueTeam, L=Rome, ST=IT, C=IT
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: -1dbb65eaa595141fa1e44ba5856d65e4
Valido da Tue May 20 09:39:25 CEST 2008 a Sun May 21 09:39:25 CEST 2023
Impronte digitali certificato:
MD5: BA:01:C2:E3:CC:92:C4:99:F7:8C:28:FF:C1:16:88:D9
SHA1: C0:D8:E8:B6:C2:62:03:90:3F:23:3C:FA:A8:C8:0A:00:FA:96:5A:4E
TRUST
Tipo keystore: jks
Provider keystore: SUN
Il keystore contiene 1 entry
Nome alias: certgenca
Data di creazione: 21-mag-2008
Tipo entry: trustedCertEntry
Proprietario: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: 234b5559d1fa0f3ff5c82bdfed032a87
Valido da Thu Oct 24 17:54:45 CEST 2002 a Tue Oct 25 17:54:45 CEST 2022
Impronte digitali certificato:
MD5: A2:18:4C:E0:1C:AB:82:A7:65:86:86:03:D0:B3:D8:FE
SHA1: F8:5D:49:A4:12:54:78:C7:BA:42:A7:14:3E:06:F5:1E:A0:D4:C6:59
BOB's keystores are:
IDENTITY
Tipo keystore: jks
Provider keystore: SUN
Il keystore contiene 2 entry
Nome alias: certgenca
Data di creazione: 21-mag-2008
Tipo entry: trustedCertEntry
Proprietario: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: 234b5559d1fa0f3ff5c82bdfed032a87
Valido da Thu Oct 24 17:54:45 CEST 2002 a Tue Oct 25 17:54:45 CEST 2022
Impronte digitali certificato:
MD5: A2:18:4C:E0:1C:AB:82:A7:65:86:86:03:D0:B3:D8:FE
SHA1: F8:5D:49:A4:12:54:78:C7:BA:42:A7:14:3E:06:F5:1E:A0:D4:C6:59
Nome alias: bobcert
Data di creazione: 21-mag-2008
Tipo entry: keyEntry
Lunghezza catena certificati: 1
Certificato[1]:
Proprietario: [email protected], OU=CompetenceCenter, O=ValueTeam, L=Rome, ST=IT, C=IT
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: 26ccb8983c1cd0dc2eb6b0c7019eddb2
Valido da Tue May 20 09:53:38 CEST 2008 a Sun May 21 09:53:38 CEST 2023
Impronte digitali certificato:
MD5: 6C:B3:9D:02:6E:CD:F4:04:C2:76:F2:92:97:39:66:7E
SHA1: D1:07:5A:64:79:2F:FE:35:4D:D4:FD:7E:42:FC:D3:9C:68:6B:EE:B8
TRUST (same as ALICE's TRUST)
Tipo keystore: jks
Provider keystore: SUN
Il keystore contiene 1 entry
Nome alias: certgenca
Data di creazione: 21-mag-2008
Tipo entry: trustedCertEntry
Proprietario: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Organismo di emissione: CN=CertGenCAB, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US
Numero di serie: 234b5559d1fa0f3ff5c82bdfed032a87
Valido da Thu Oct 24 17:54:45 CEST 2002 a Tue Oct 25 17:54:45 CEST 2022
Impronte digitali certificato:
MD5: A2:18:4C:E0:1C:AB:82:A7:65:86:86:03:D0:B3:D8:FE
SHA1: F8:5D:49:A4:12:54:78:C7:BA:42:A7:14:3E:06:F5:1E:A0:D4:C6:59
Here is a FRAGMENT of ALICE's "config.xml" (I use custom identity and custom trust)
<Server
CustomIdentityKeyStoreFileName="C:\bea\wlp81sp6\user_projects\domains\ALICE\CERTIFICATI\alice.jks"
CustomIdentityKeyStorePassPhraseEncrypted="{3DES}/q7+XXkrvz0zncx18PjDug=="
CustomIdentityKeyStoreType="JKS"
CustomTrustKeyStoreFileName="C:\bea\wlp81sp6\user_projects\domains\ALICE\CERTIFICATI\certgenca.jks"
CustomTrustKeyStorePassPhraseEncrypted="{3DES}/q7+XXkrvz0zncx18PjDug=="
CustomTrustKeyStoreType="JKS" ExpectedToRun="false"
JavaStandardTrustKeyStorePassPhraseEncrypted="{3DES}CVtHlHaDky1XKC1QZVz2Kw=="
KeyStores="CustomIdentityAndCustomTrust" ListenAddress=""
ListenPort="7011" Name="alice" NativeIOEnabled="true"
ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.6.0"
StdoutDebugEnabled="true" StdoutSeverityLevel="64">
<SSL ClientCertificateEnforced="true" Enabled="true"
HostnameVerificationIgnored="true"
IdentityAndTrustLocations="KeyStores" ListenPort="7012"
Name="alice" ServerPrivateKeyAlias="alicecert"
ServerPrivateKeyPassPhraseEncrypted="{3DES}/q7+XXkrvz0zncx18PjDug==" TwoWaySSLEnabled="true"/>
<Log FileCount="2" FileMinSize="5000" Name="alice" NumberOfFilesLimited="true"/>
</Server>
and also here is a fragment of BOB's "config.xml" (same of ALICE's keystores configuration)
<Server
CustomIdentityKeyStoreFileName="C:\bea\wlp81sp6\user_projects\domains\BOB\CERTIFICATI\bob.jks"
CustomIdentityKeyStorePassPhraseEncrypted="{3DES}PJMoAH+j5jeVWzQfY8Gf2w=="
CustomIdentityKeyStoreType="JKS"
CustomTrustKeyStoreFileName="C:\bea\wlp81sp6\user_projects\domains\BOB\CERTIFICATI\certgenca.jks"
CustomTrustKeyStorePassPhraseEncrypted="{3DES}PJMoAH+j5jeVWzQfY8Gf2w=="
CustomTrustKeyStoreType="JKS" ExpectedToRun="false"
JavaStandardTrustKeyStorePassPhraseEncrypted="{3DES}TXgi1bpazzUgtLpwMy9q9Q=="
KeyStores="CustomIdentityAndCustomTrust" ListenAddress=""
ListenPort="7001" Name="bob" NativeIOEnabled="true"
ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.6.0"
StdoutDebugEnabled="true" StdoutSeverityLevel="64">
<SSL ClientCertificateEnforced="true" Enabled="true"
HostnameVerificationIgnored="true"
IdentityAndTrustLocations="KeyStores" ListenPort="7002"
Name="bob" ServerPrivateKeyAlias="bobcert"
ServerPrivateKeyPassPhraseEncrypted="{3DES}PJMoAH+j5jeVWzQfY8Gf2w==" TwoWaySSLEnabled="true"/>
<Log FileCount="2" FileMinSize="5000" Name="bob" NumberOfFilesLimited="true"/>
</Server>
PS: I used a JNDI Client to access to BOB configured with ALICE's keystores and I got a success.
Nat. -
MDBs in 9.1 continue to consume JMS queues even after being deleted
<b>We have an MDB application that reads a batch message off of a JMS queue, archives it in a database, parses the batch message into individual messages and writes them onto other JMS queues to be consumed by another application. Everything was running fine in Weblogic 8.1.5. However, due to problems with XA drivers and the MSDTC(predictable SQL server crashes), we decided to upgrade to Weblogic 9.1 to take advantage of the LLR option.</b>
<b>First, we had an issue where our MDBs were causing the following exception:</b>
<i>####<May 26, 2006 7:42:12 PM EDT> <Error> <JMX> <ist-clft2> <wltest1> <ExecuteThread: '1' for queue: 'default'> <<WLS Kernel>> <> <> <1148686932991> <BEA-149500> <An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : com.bea:ServerRuntime=wltest1,MessageDrivenEJBRuntime=RhapsodyMDB_DMBModule!JMSServer4@DMB_BEAN_QUEUE,Name=RhapsodyMDB_DMBModule!JMSServer4@DMB_BEAN_QUEUE,ApplicationRuntime=DataBrokerEAR1_2,Type=EJBPoolRuntime,EJBComponentRuntime=DataBrokerEJB new:[email protected] existing weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@7db003
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:146)
at weblogic.management.mbeanservers.internal.WLSObjectNameManager.lookupObjectName(WLSObjectNameManager.java:133)
at weblogic.management.jmx.modelmbean.WLSModelMBeanFactory.registerWLSModelMBean(WLSModelMBeanFactory.java:86)
at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.registered(RuntimeMBeanAgent.java:104)
at weblogic.management.provider.internal.RegistrationManagerImpl.invokeRegistrationHandlers(RegistrationManagerImpl.java:205)
at weblogic.management.provider.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:85)
at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:320)
at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:257)
at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:222)
at weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl.<init>(EJBPoolRuntimeMBeanImpl.java:32)
at weblogic.ejb.container.monitoring.MessageDrivenEJBRuntimeMBeanImpl.<init>(MessageDrivenEJBRuntimeMBeanImpl.java:49)
at weblogic.ejb.container.manager.MessageDrivenManager.initialize(MessageDrivenManager.java:503)
at weblogic.ejb.container.manager.MessageDrivenManager.setup(MessageDrivenManager.java:120)
at weblogic.ejb.container.manager.MessageDrivenManager.setup(MessageDrivenManager.java:146)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManager(MessageDrivenBeanInfoImpl.java:1481)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createDDMDManagers(MessageDrivenBeanInfoImpl.java:1378)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.onDDMembershipChange(MessageDrivenBeanInfoImpl.java:1285)
at weblogic.jms.common.CDS$DD2Listener.listChange(CDS.java:454)
at weblogic.jms.common.CDSServer$DDHandlerChangeListener.statusChangeNotification(CDSServer.java:167)
at weblogic.jms.dd.DDHandler.callListener(DDHandler.java:318)
at weblogic.jms.dd.DDHandler.callListeners(DDHandler.java:344)
at weblogic.jms.dd.DDHandler.run(DDHandler.java:282)
at weblogic.jms.common.SerialScheduler.run(SerialScheduler.java:37)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
>
####<May 26, 2006 7:42:13 PM EDT> <Info> <EJB> <ist-clft2> <wltest1> <ExecuteThread: '1' for queue: 'default'> <<WLS Kernel>> <> <> <1148686933069> <BEA-010060> <The Message-Driven EJB: RhapsodyMDB has connected/reconnected to the JMS destination: weblogic.jms.DMB_BEAN_QUEUE.></i>
<b>
Generally this happend after there were cluster communication issues. Multi-cast messages were lost and our MDB reconnects to the JMS queues as indicated by the below log:</b>
<i>####<May 30, 2006 5:19:06 PM EDT> <Info> <EJB> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '54' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1149023946040> <BEA-010060> <The Message-Driven EJB: DataBrokerMDB has connected/reconnected to the JMS destination: weblogic.jms.PHINMS_DMB_QUEUE.>
####<May 30, 2006 5:19:10 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023950228> <BEA-000112> <Removing RAPBEA3S jvmid:720875810499147484S:cmts-rap-bea3:[7005,-1,-1,-1,-1,-1,-1]:DMBstg:RAPBEA3S from cluster view due to timeout.>
####<May 30, 2006 5:19:11 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023951009> <BEA-000115> <Lost 2 multicast message(s).>
####<May 30, 2006 5:19:11 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023951040> <BEA-000111> <Adding RAPBEA3S with ID 720875810499147484S:cmts-rap-bea3:[7005,-1,-1,-1,-1,-1,-1]:DMBstg:RAPBEA3S to cluster: DMBstg_cluster view.></i>
<b>
This would cause the queues to eventually have hundreds of consumers and cause the server to fail.
Basically, it seems as though the MDBs that are supposed to stop continue and attempt to process, while new threads connect to the JMS queues.
I tried undeploying our application and deleted it from the configuration. However there were consumers still on the respective queues and when I sent messages, I got an error indicating a "Class Not Found exception" due to the fact that the EJB was undeployed and deleted from the configuration, however the MDB component was not and continued to listen for messages. In 8.1.5, as soon as the application was undeployed, there were zero consumers on the JMS queues.
I have read the posts about a soon to be released fix that would have the MDBs connect only to the queues locally and not go out the the cluster. Would this fix my issue?
Is there something in the deployment descriptor to configure that will cause it to disconnect and now spawn so many consumers to the JMS queues?
Why is it that the number of MDB consumers on the JMS queues stayed static in 8.1.5, but they are erratic in 9.1 even after I set our 9.1 server to use the 8.1.5 execute queue policy. Help would be much appreciated.</b>I recommend contacting customer support. There's a known problem with MDBs listening to distributed destinations that are local to the same cluster as the MDB, you're problem may be related (the clue is that the stack trace contains jms.dd.DDHandler.callListeners()). The problem is that the MDB connects to all physical queues in a distributed destination rather than just the local queue.
Tom
Maybe you are looking for
-
VT02N - do PGI and Invoice for certain deliveries either based on certain conditions
Hi Friends , We are using VT04 for creating shipments . While shipment completion stage in VT02N an activity profile has been maintained which does both the Goods issue and Invoice. We have a business requirement , PGI and Invoice should be create
-
Sender SFTP adapter configuration
Dear Experts, we have one requairement to convert CSV file to xml messages, we are using the sender SFTP adapter. kindly let me kow, how to convert csv to xml messages. Regards kiran
-
How to Stop the process chain if it in the middle of the process?
Hi, Is there anyway that i can stop the process chain if it is in the middle of the process already? Raj
-
Keychain problem-definitely a challenge problem!
I have 5 accounts in mail. 4 are yahoo accounts all tied to the same paid account. I use Road Runner. 3 of them are fine. One intermittantly needs the password. When I give it, it accepts it fine. I ran keychain access utility--Verify said all was fi
-
After Effects CS 5.5 Unimplemented Function Error
When I click to open the waveform of an audio layer I get this error message: "After Effects error: Unimplemented function. (10::48)" and have to dismiss it. Anyone know how to get rid of this?