Exception Starting JMS listener bean on iAs 10.1.3.1 using Database Persist
Hi,
I'm getting this exception
Unexpected exception by JMS provider: javax.jms.InvalidDestinationException: Destination "oracle.j2ee.ra.jms.generic.AdminObjectQueueImpl[SECOND]" has invalid type "class oracle.j2ee.ra.jms.generic.AdminObjectQueueImpl" and cannot be used with OC4J JMS..
on deploy of an application containing the a Message Driven Bean
It is marked as failed in EM.
This is the relevant snippet from my orion-ejb-jar.xml
<message-driven-deployment name="CommunicatorMessageBean" destination-location="jmsResourceAdaptor/AutoWrap/Queues/SECOND" />
thanks in advance
Dan
That seems to be a bug in the ADF Runtime Installer.
The file jsp-el-api.jar from JDev 10.1.3 must be copied manually to the oc4j container /applib directory - and if you have more than one oc4j instance on your application server it must be copied to all of them.
I have been in contact with Oracle Support because of this and hopefully a patch and/or proper documentation will be release soon.
Similar Messages
-
Hi,
being an Oracle Developer, I recently installed Oracle XML Publisher. At first it went apparently fine, but one day it suddenly wouldn't start anymore ... No, you may be wondering why I'm posting this on an JSM forum? Well, I got the following message (afterwards XML Publisher simply shut down) :
C:\oracle\product\10.1.0\Db_1\xmlpserver>"C:\oracle\product\10.1.0\Db_1\jdk\bin\
java" -Xms256M -Xmx256M -jar "C:\oracle\product\10.1.0\Db_1\oc4j\j2ee\home\oc4j
.jar" -config "C:\oracle\product\10.1.0\Db_1\oc4j\j2ee\home\config\server.xml"
2006-12-04 09:47:57.453 ERROR Failed to set the internal configuration of the OC
4J JMS Server with: XMLJMSServerConfig[file:/C:/oracle/product/10.1.0/db_1/oc4j/
j2ee/home/config/jms.xml]
06/12/04 09:47:57 *** (SEVERE) Failed to set the internal configuration of the O
C4J JMS Server with: XMLJMSServerConfig[file:/C:/oracle/product/10.1.0/db_1/oc4j
/j2ee/home/config/jms.xml]
2006-12-04 09:47:57.453 ERROR J2EE OJR0011 Exception starting JMS server: Failed
to set the internal configuration of the OC4J JMS Server with: XMLJMSServerConf
ig[file:/C:/oracle/product/10.1.0/db_1/oc4j/j2ee/home/config/jms.xml]
2006-12-04 09:47:59.281 WARNING J2EE JNDI0001 Resource Environment reference jms
/store not found. Allowing J2EEContext creation to continue anyway.
2006-12-04 09:47:59.281 WARNING J2EE JNDI0001 Resource Environment reference jms
/eventQueue not found. Allowing J2EEContext creation to continue anyway.
2006-12-04 09:47:59.281 WARNING J2EE JNDI0001 Resource Environment reference jms
/notificationQueue not found. Allowing J2EEContext creation to continue anyway.
2006-12-04 09:47:59.328 WARNING J2EE JNDI0001 Resource Environment reference jms
/eventQueue not found. Allowing J2EEContext creation to continue anyway.
2006-12-04 09:47:59.328 WARNING J2EE JNDI0001 Resource Environment reference jms
/notificationQueue not found. Allowing J2EEContext creation to continue anyway.
2006-12-04 09:47:59.328 ERROR J2EE EJB3027 [default] An error occured deploying
EJB module: java.lang.InstantiationException: Resource exception(OracleASjms) fo
r MessageDrivenBean event during endpoint activation: failure looking up Connect
ionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi.ResourceAdap
terInternalException: Looking up jms/XAQueueConnectionFactory: javax.naming.Name
NotFoundException: jms/XAQueueConnectionFactory not found
06/12/04 09:47:59 WARNING: Application.setConfig Application: default is in fail
ed state as initialization failedjava.lang.InstantiationException: Error initial
izing ejb-modules: Resource exception(OracleASjms) for MessageDrivenBean event d
uring endpoint activation: failure looking up ConnectionFactoryJndiName:jms/XAQu
eueConnectionFactory: javax.resource.spi.ResourceAdapterInternalException: Looki
ng up jms/XAQueueConnectionFactory: javax.naming.NameNotFoundException: jms/XAQu
eueConnectionFactory not found
4-dec-2006 9:47:59 com.evermind.server.Application setConfig
WARNING: Application: default is in failed state as initialization failedjava.la
ng.InstantiationException: Error initializing ejb-modules: Resource exception(Or
acleASjms) for MessageDrivenBean event during endpoint activation: failure looki
ng up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory: javax.resource.spi
.ResourceAdapterInternalException: Looking up jms/XAQueueConnectionFactory: java
x.naming.NameNotFoundException: jms/XAQueueConnectionFactory not found
2006-12-04 09:47:59.344 WARNING DEBUG GJRA-1100, oracle.j2ee.connector.messagein
flow.MessageEndpointFactoryImpl@1ad4feb.
06/12/04 09:47:59 Error initializing server: Error initializing ejb-modules: Res
ource exception(OracleASjms) for MessageDrivenBean event during endpoint activat
ion: failure looking up ConnectionFactoryJndiName:jms/XAQueueConnectionFactory:
javax.resource.spi.ResourceAdapterInternalException: Looking up jms/XAQueueConne
ctionFactory: javax.naming.NameNotFoundException: jms/XAQueueConnectionFactory n
ot found
2006-12-04 09:47:59.938 WARNING J2EE JTA RecoveryManager is null during shut
down
I don't know much about Java, JMS, ... But recently, I figured out that when I disabled the "Wireless Network Connection" on my computer, it worked fine again!!! I don't have a clue on what's happening, but I would like to know ...
So, anybody who knows more about this, feel free to add comment!
Thanks in advance!
Greetings,
P.
Message was edited by:
L@ncelot
Message was edited by:
L@ncelotWell, same occurrence of described problem and no solution-
thx -
Unable to start a Listener Port on Websphere 6
Im trying to use Websphere6 with a Message Driven Bean.
I dont know if this is Websphere Specific but you have to create a listener port for the server then you reference the listener port in your MDB.
But my server fails to the start the listener port complaining about jndi problems.
TradePort is the name of my ListenerPort and jms/JMSTradePortDestination is the name of my DestinationJNDIName, trade is the name of my MDB.
I havent specified my DestinationJNDIName anywhere else as I understood it it is an arbitary name that the listener will use to accept jms requests.
[04/05/05 15:49:26:656 BST] 00000011 MDBListenerIm W WMSG0019E: Unable to start MDB Listener Trade, jms/JMSDestination TradePortDestination : javax.naming.NameNotFoundException: Context: kestrelNode01Cell/nodes/kestrelNode01/servers/server1, name: TradePortDestination: First component in name TradePortDestination not found. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.do_resolve_complete_info(WsnOptimizedNamingImpl.java:970)
at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.resolve_complete_info(WsnOptimizedNamingImplBase.java:1435)
at com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_complete_info(Unknown Source)
at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java:4045)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1742)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1703)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1410)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:361)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:230)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:681)
at com.ibm.ejs.jms.listener.MDBListenerImpl.restart(MDBListenerImpl.java:654)
at com.ibm.ejs.jms.listener.MDBListenerImpl.alarm(MDBListenerImpl.java:969)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1394)
---- Begin backtrace for Nested Throwables
org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.do_resolve_complete_info(WsnOptimizedNamingImpl.java:970)
at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.resolve_complete_info(WsnOptimizedNamingImplBase.java:1435)
at com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_complete_info(Unknown Source)
at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java:4045)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1742)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1703)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1410)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:361)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:230)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:681)
at com.ibm.ejs.jms.listener.MDBListenerImpl.restart(MDBListenerImpl.java:654)
at com.ibm.ejs.jms.listener.MDBListenerImpl.alarm(MDBListenerImpl.java:969)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1394)
[04/05/05 16:08:13:701 BST] 00000010 MDBListenerIm W WMSG0017E: Unable to lookup JMS resources, JNDI lookup exception: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
[04/05/05 16:08:13:717 BST] 00000010 MDBListenerIm W WMSG0019E: Unable to start MDB Listener Trade, JMSDestination jms/TradePortDestination : javax.naming.NameNotFoundException: Context: kestrelNode01Cell/nodes/kestrelNode01/servers/server1, name: jms/TradePortDestination: First component in name jms/TradePortDestination not found. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.handleNameNotFound(WsnOptimizedNamingImpl.java:2006)
at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.getNextWsnOptimizedNamingContext(WsnOptimizedNamingImpl.java:1322)
at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.getTargetContext(WsnOptimizedNamingImplBase.java:3024)
at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase$LeafOperationData.<init>(WsnOptimizedNamingImplBase.java:3489)
at com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.resolve_complete_info(WsnOptimizedNamingImplBase.java:1427)
at com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_complete_info(Unknown Source)
at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java:4045)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1742)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1703)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1410)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:361)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:230)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:681)
at com.ibm.ejs.jms.listener.MDBListenerImpl.restart(MDBListenerImpl.java:654)
at com.ibm.ejs.jms.listener.MDBListenerImpl.alarm(MDBListenerImpl.java:969)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:90)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1394)Am also facing same problem, plz help me if u have found the solution....but MQ will not support BUS concept as reply earlier ...........
Listener Port Start Problem, when integrating on WAS6.0 using Websphere MQ Publisher Subscriber
1)Websphere MQ is installed and top of that Publisher/subscriber support pack is also installed.
2)RAD6.0 with WAS6.0 is installed.
3)Aim: To run a MDB on WAS6.0 using Websphere MQ as JMS Provider.
4)Configured the item as specified at (MDB using MQ and WAS with RAD)
http://www-128.ibm.com/developerworks/websphere/techjournal/0505_woolf/0505_woolf.html
5)Below is the error message displayed onto the server console....
[7/29/05 12:08:43:125 IST] 0000001b MDBListenerIm I WMSG0058I: Listener Port JMSExampleTopicPort will attempt to restart in 60 seconds
[7/29/05 12:08:43:125 IST] 00000032 MDBListenerIm I WMSG0058I: Listener Port JMSExampleTopicPort will attempt to restart in 60 seconds
[7/29/05 12:08:43:141 IST] 0000001b MsgListenerPo W WMSG0049E: Failed to start MDB SubscriberDMDB against listener port JMSExampleTopicPort
[7/29/05 12:08:43:359 IST] 0000001b MDBListenerIm I WMSG0042I: MDB Listener JMSExampleQueuePort started successfully for JMSDestination jms/JMSExampleQueue
[7/29/05 12:09:43:219 IST] 0000002c ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/JMSExampleConnectionFactory. The exception which was received is javax.jms.JMSException: MQJMS2008: failed to open MQ queue
[7/29/05 12:09:43:266 IST] 0000002c WASLogger E CLASSNAME METHODNAME an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019
[7/29/05 12:09:43:266 IST] 00000036 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB SubscriberDMDB , JMSDestination jms/JMSExampleTopic : javax.jms.JMSException: MQJMS2008: failed to open MQ queue
[7/29/05 12:17:03:703 IST] 0000004b ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource jms/JMSExampleConnectionFactory. The exception which was received is javax.jms.JMSException: MQJMS2008: failed to open MQ queue
[7/29/05 12:17:03:719 IST] 0000004b WASLogger E CLASSNAME METHODNAME an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019
[7/29/05 12:17:03:719 IST] 00000056 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB SubscriberDMDB , JMSDestination jms/JMSExampleTopic : javax.jms.JMSException: MQJMS2008: failed to open MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:553)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.sendBrokerMessageInternal(MQBrokerSubscriptionEngine.java:2546)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.sendBrokerMessageInternal(MQBrokerSubscriptionEngine.java:2747)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.sendBrokerMessage(MQBrokerSubscriptionEngine.java:2785)
at com.ibm.mq.jms.MQBrokerSubscriptionEngine.openDurableSubscription(MQBrokerSubscriptionEngine.java:888)
at com.ibm.mq.jms.MQMigrateSubscriptionEngine.openDurableSubscription(MQMigrateSubscriptionEngine.java:544)
at com.ibm.mq.jms.MQConnectionBrowser.pubSubSetup(MQConnectionBrowser.java:400)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:266)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:143)
at com.ibm.mq.jms.MQConnection.createDurableConnectionBrowser(MQConnection.java:3438)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:463)
at com.ibm.mq.jms.MQConnection.createDurableConnectionConsumer(MQConnection.java:3349)
at com.ibm.mq.jms.MQXAConnection.createDurableConnectionConsumer(MQXAConnection.java:328)
at com.ibm.ejs.jms.JMSConnectionHandle.createDurableConnectionConsumer(JMSConnectionHandle.java:1016)
at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:509)
at com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:680)
at com.ibm.ejs.jms.listener.MDBListenerImpl.start(MDBListenerImpl.java:611)
at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:605)
at com.ibm.ejs.jms.listener.MsgListenerPort.start(MsgListenerPort.java:250)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1366)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1012)
at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:233)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:167)
at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1249)
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:901)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java(Compiled Code))
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:817)
at com.ibm.ws.console.servermanagement.messagelistener.ListenerPortCollectionAction.execute(ListenerPortCollectionAction.java:317)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
6)in JMSAdmin.config file the propertied used are :
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
PROVIDER_URL=file:C:/JNDI-Directory
Help in resolving this is appreciated.
Thanx in Advance,
Sanjeev Kumar -
JMS Listener within a workflow
I have a JMS listener, waiting for new messages on a queue. Once there is a new message it uses that message which contains an object to begin the work flow process. The first step in the work flow calls an external engine we built that does quite a bit. At each critical point in the engine it adds a message to a topic. I want to have a listener for each one of the steps that will listen for the results to be added to the topic. Once it's there if everything is good go to the next listener and wait for the next result set. If it's bad I want to take the results and send the message to another queue and end that work flow. I'm not having much luck finding how to put a listener within the work flow. I have the listener that starts the process going fine using a Global Automatic event.
I thought the best solution would be do a subflow process at each points of them listeners. Have another global automatic event listener waiting which will then start the subflow process which stores the results and then returns which step to take back to the original process. But that didn't work it was completing all of the subflow's w/o waiting for a listener to find a message. So nothing ended up happening.
Any help?That's what I figured with that global interactive I was trying to access the instance variables before so it wasn't showing up under my user. Now instead of an error pop up the error message shows up at the bottom of the runtime UI.
Error at bottom of page: (Followed by a bunch of package names)
Unexpected Error
javax.faces.el.EvaluationException: /jsf/menu/menuActionNormal.xhtml @24,147 onActivate="#{componentBean.doExecuteAction}": fuego.papi.exception.InvalidTaskNumberException: Invalid task number '0' for activity '/Manager#Default-1.0/Global'.
Warning in the Log:
There was an error when trying to obtain the environement information: null
Application: Engine, Module: Main, Thread: <0> StartUpServerIt gives me the top error when I have the notification set up to receive an external notification and gives me the warning for both cases either external notification or internal event. Its an internal event but in the documentation it never covers internal event situations for NotificationWait so I tried both.
Another thing is when I have 2 or more instances waiting at the wait how does it know which one to go too? In the real example it will be receiving an object from the thread that will have an id number. But in this little test set up how does it know which instance the global activity is for? -
After 10g Upgrade, Unable to start apps listener.
1. Apps 11.5.10.2 DB 9.2.0.8
2. Successfully upgraded DB to 10.2.0 (Metalink Note: 362203.1)
3. Ran ADCONFIG on DB successfully
4. Ran ADCONFIG on Apps successfully.
5. Restarted Server
All services started successfully except
1. Apps Listener
2. Report Server
3. Concurrent Manager
Further investigation reveals the issue is with Apps Listener. When I start apps listener manually ...
E:\oracle\prodcomn\admin\scripts\PROD_r12srvr>adalnctl start apps/fumble
ECHO is off.
ECHO is off.
Mon 05/12/2008 08:14 PM
ECHO is off.
The environment settings are as follows ...
ECHO is off.
ORACLE_HOME : e:\oracle\prodora2\8.0.6
LOCAL : PROD
ORACLE_SID :
PATH : e:\oracle\prodora2\8.0.6\bin;c:\jdk13\bin;e:\oracle\prodora2\8.0.6\bin;c:\jdk13\bin;e:\oracle\prodappl\au\11.5.0\bin;e:
\oracle\prodappl\fnd\11.5.0\bin;e:\oracle\prodappl\ad\11.5.0\bin;E:\oracle\prodora2\iAS\appsoui\jre\1.3.1\bin;E:\oracle\prodora2\iAS\Apache\
perl\5.00503\bin\MSWin32-x86\;e:\oracle\prodcomn\util\unzip\unzip;e:\oracle\prodora2\8.0.6\bin;c:\jdk13\bin;C:\vscommon\msdev98\BIN;c:\vc8\B
IN;C:\vscommon\TOOLS\WINNT;C:\vscommon\TOOLS;e:\oracle\prodappl\au\11.5.0\bin;e:\oracle\prodappl\fnd\11.5.0\bin;e:\oracle\prodappl\ad\11.5.0
\bin;E:\oracle\prodora2\iAS\appsoui\jre\1.3.1\bin;E:\oracle\prodora2\iAS\Apache\perl\5.00503\bin\MSWin32-x86\;e:\oracle\prodcomn\util\unzip\
unzip;e:\oracle\prodora2\8.0.6\bin;c:\jdk13\bin;C:\MKS\bin\x11;C:\vscommon\Tools\WinNT;C:\vscommon\MSDev98\Bin;C:\vscommon\Tools;c:\vc8\bin;
c:\mks\mksnt;c:\mks\bin;c:\jdk13;c:\r11itools;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;
LD_LIBRARY_PATH : e:\oracle\prodora2\8.0.6\lib
ECHO is off.
ECHO is off.
Starting listener process "APPS_PROD" ...
ECHO is off.
LSNRCTL80 for 32-bit Windows: Version 8.0.6.3.0 - Production on 12-MAY-2008 20:14:58
(c) Copyright 1999 Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=r12srvr)(Port=1627))
TNS-12224: TNS:no listener
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 61: Unknown error
LSNRCTL80 for 32-bit Windows: Version 8.0.6.3.0 - Production on 12-MAY-2008 20:15:00
(c) Copyright 1999 Oracle Corporation. All rights reserved.
Starting tnslsnr80: please wait...
Service OraclePRODOra806_3TNSListener80APPS_PROD start pending.
Service OraclePRODOra806_3TNSListener80APPS_PROD started.
TNS-12560: TNS:protocol adapter error
adalnctl.cmd exiting with status 3
The error 3 means "The system cannot find the path specified".
Anyone! Please help me. It is very very urgent.
Thanks in advance.
S. SundarThis is Oracle Apps. Did you check all requirements before upgrading only the database layer to 10g?
You may need to change your start/stop scripts to reflect the changes to the database layer (listener ports etc).
E-Business Suite Forum?
http://forums.oracle.com/forums/category.jspa?categoryID=3 -
BPM for WebLogic 10.3 JMS listener problem: SecurityException
Hi!
I have a BPM 10.3 engine running on WebLogic 10.3 and a BPM process that uses JMS listener global automatic activity. The JMS queue is located in a WebLogic 8.1 server.
The global activity receives a message and tries to create a new process instance. At runtime a strange error occurs (see below). If I just log the message and comment the process creation out, the message is successfully consumed, but with the creation part it is not. The process creation itself is not the problem because other message listeners that call other process activities fail with similar errors.
Btw, it's working in Studio, but not in WL10.
Could someone explain me what happens and how to fix it?
Have I misconfigured something?
Thanks in advance,
Jaanus
The BPM engine log:
The task could not be successfully executed.
Reason: 'fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
Caused by: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
Caused by: Process execution engine execution error.
Caused by: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
Caused by: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
fuego.lang.ComponentExecutionException: The task could not be successfully executed.
Reason: 'fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1094)
at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:3023)
at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
at fuego.ejbengine.EJBProcessBean.executeTask(EJBProcessBean.java:147)
at fuego.server.execution.GlobalJMSExecutor.execute(GlobalJMSExecutor.java:105)
at fuego.ejbengine.EJBGlobalJMSExecutor.access$400(EJBGlobalJMSExecutor.java:43)
at fuego.ejbengine.EJBGlobalJMSExecutor$JMSExecutorWorker.run(EJBGlobalJMSExecutor.java:213)
at java.lang.Thread.run(Thread.java:619)
Caused by: fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
at fuego.papi.exception.ActivityFailedException.create(ActivityFailedException.java:66)
at fuego.server.AbstractProcessBean.createActivityFailedException(AbstractProcessBean.java:3690)
at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4326)
at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
at fuego.components.Process.createInstance(Process.java:106)
at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
... 16 more
Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:139)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
... 27 more
Caused by: class fuego.lang.RuntimeExceptionShell ->> fuego.connector.ConnectorException: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:581)
at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:300)
at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:179)
at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:443)
at fuego.server.AbstractInstanceService.create(AbstractInstanceService.java:302)
at fuego.server.execution.microactivity.BeginMicroActivity.createInstance(BeginMicroActivity.java:95)
at fuego.server.AbstractProcessBean$53.execute(AbstractProcessBean.java:3642)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
at fuego.transaction.TransactionAction.start(TransactionAction.java:213)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:125)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
at fuego.components.Process.createInstance(Process.java:106)
at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:472)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:213)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:125)
... 8 more
Caused by: fuego.connector.ConnectorException: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:95)
at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:324)
at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:298)
at fuego.connector.JDBCHelper.getConnection(JDBCHelper.java:41)
at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:578)
at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:300)
at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:179)
at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:443)
at fuego.server.AbstractInstanceService.create(AbstractInstanceService.java:302)
at fuego.server.execution.microactivity.BeginMicroActivity.createInstance(BeginMicroActivity.java:91)
at fuego.server.AbstractProcessBean$53.execute(AbstractProcessBean.java:3642)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
at fuego.components.Process.createInstance(Process.java:106)
at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
... 8 more
Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
at weblogic.security.service.SecurityServiceManager.seal(Unknown Source)
at weblogic.security.service.IdentityUtility.authenticatedSubjectToIdentity(Unknown Source)
at weblogic.security.service.RoleManager.getRoles(Unknown Source)
at weblogic.security.service.AuthorizationManager.isAccessAllowed(Unknown Source)
at weblogic.jndi.internal.ServerNamingNode.checkPermission(ServerNamingNode.java:442)
at weblogic.jndi.internal.ServerNamingNode.checkLookup(ServerNamingNode.java:423)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:180)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:116)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:75)
at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:64)
at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:147)
at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:319)
... 43 moreI managed to solve the problem by configuring the domain's security settings on both WebLogic servers as follows:
*) checked "Anonymous Admin Lookup Enabled",
*) entered the same value to Advanced->Credential on both WLs. -
Deadlock in TopLink when using JMS listener on WebLogic
I am experiencing a deadlock in TopLink 10.1.3 on WebLogic 9 in code that previously worked on TopLink 9.0.4 with WebLogic 8.1. As such, I'm not sure if it's due to the TopLink change, the WebLogic change or both. Anyway, we have a JMS listener (note, NOT a MessageDrivenBean) that is updating an existing TopLink cached domaing object. The JMS listener thread gets stuck when attempting to commit the transaction. The thread-dump shows that there is another thread which is blocked in the ConcurrencyManager waiting to obtain the lock on an object which is being updated by the listener thread. It appears to me that the root cause is that the Synchronization.afterCompletion() listener is running on a different thread than the one which owns the locks which were obtained beforeCompletion.
See stack traces.
First, the message listener thread which is waiting for participants in the transaction to commit:
"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=9 tid=0x3a4a4728 nid=0xa48 in Object.wait() [0x3a0cf000..0x3a0cfbec]
at java.lang.Object.wait(Native Method)
- waiting on <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2665)
- locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2570)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:277)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)
at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)
at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)
at com.avinamart.BusinessLogic.Bean.JobService.JobService_u1ylwo_EOImpl.submitJobAndRun(JobService_u1ylwo_EOImpl.java:1388)
at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:253)
at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:217)
at com.avinamart.Framework.Event.Task.OptimizationTaskListener.processMessage(OptimizationTaskListener.java:344)
at com.emptoris.base.event.EPASSMessageBaseListener.onMessage(EPASSMessageBaseListener.java:722)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3738)
at weblogic.jms.client.JMSSession.pushMessage(JMSSession.java:3253)
at weblogic.jms.client.JMSSession.invoke(JMSSession.java:4195)
at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:674)
at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:262)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:134)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)
at weblogic.messaging.dispatcher.DispatcherServerRef$1.run(DispatcherServerRef.java:105)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Next, the other thread which is participating in the transaction which is stuck:
"[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=5 tid=0x3adb80a0 nid=0xb30 in Object.wait() [0x3c7af000..0x3c7afd6c]
at java.lang.Object.wait(Native Method)
- waiting on <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
at java.lang.Object.wait(Object.java:474)
at oracle.toplink.internal.helper.ConcurrencyManager.acquire(ConcurrencyManager.java:76)
- locked <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
at oracle.toplink.internal.identitymaps.CacheKey.acquire(CacheKey.java:80)
at oracle.toplink.internal.identitymaps.FullIdentityMap.remove(FullIdentityMap.java:164)
at oracle.toplink.internal.identitymaps.HardCacheWeakIdentityMap.remove(HardCacheWeakIdentityMap.java:82)
at oracle.toplink.internal.helper.WriteLockManager.releaseAllAcquiredLocks(WriteLockManager.java:363)
at oracle.toplink.publicinterface.UnitOfWork.afterTransaction(UnitOfWork.java:2123)
at oracle.toplink.transaction.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:135)
at oracle.toplink.transaction.JTASynchronizationListener.afterCompletion(JTASynchronizationListener.java:66)
at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:862)
at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:2913)
at weblogic.transaction.internal.ServerTransactionImpl.afterCommittedStateHousekeeping(ServerTransactionImpl.java:2806)
at weblogic.transaction.internal.ServerTransactionImpl.setCommittedUnsync(ServerTransactionImpl.java:2857)
at weblogic.transaction.internal.ServerTransactionImpl.ackCommit(ServerTransactionImpl.java:1097)
- locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.CoordinatorImpl.ackCommit(CoordinatorImpl.java:211)
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Is this the same concurrency bug which was fixed in 10.1.3.1??? As I am writing this, I am attempting to build the application with the updated TopLink jar to test for myself. Has anyone else seen this scenario with WebLogic? I should also point out that the problem only occurs when the listener is running on a separate server than the one hosting the JMS queue it reads from. It may be that when the listener runs on the same server, it does not use multiple threads in the transaction.
Any ideas are greatly appreciated.
- BrunoWe've got the same kind of issue with toplink 10.1.3.0.0 and bea weblogic 8.1 SP5.
I 've not tried with 10.1.3.1.0, did you?
Do you have a new status for this issue.
Chris -
How to notify the exceptions in JMS sychronous request-response processing?
Hi All,
Pl. help me with ur expertise in the foll. scenario we are facing.
Scenario:
I have a requirement where I need to notify the exceptions to my client while
the client request's are processed asynchronously and my client is waiting in
synchronous for the response.
The client is sending a message to one queue (QueueA) and waiting for response
in another queue (QueueB). The message from "QueueA" is picked up by a MDB listening
to "QueueA" and it throws an exception while processing some "business logic".
In this case how do I notify to my client who is waiting in another queue. i.e.
"QueueB" that there is an exception occurred while processing the business logic.
I am using JMSCorrelationID to uniquely identify a response for a request sent
by the client.
What are the possible options to handle exceptions in JMS for an implementation
like the one mentioned above.
Any comments/feedback/pointers will be REALLY REALLY appreciated.
Tks and regds
C R Baradwaj
Raghuram Bharadwaj C wrote:
> Tom,
>
> Once again thanks a lot for your prompt response!
>
> Yes, A Knows how many downstream queues are involved.
>
> For unanticipated multiple responses
>
> If I do a select for update in all the MDB's listening to "QueueB/QueueC/QueueD",
> only one response message will be sent to the "ResponseQ".
Does this run the risk of serializing the database access? If
B/C/D have no messages so that a new operation causes all
three to fire at once, will they end up serializing on their
respective selectForUpdate calls, losing parallelism?
>
> The response from all the datasource(s) are updated in the database by the MDB.
> The MDB which updates the database last will consolidate all the response(s) and
> send one final response to the "ResponseQ".
>
> This will be picked up the client who is waiting in the "ResponseQ". There wont
> be multiple message(s) placed in the "ResponseQ".
>
> In this situation, How do I handle exceptions that occur in downstream MDB's?
Use multiple responses. MDB's send error message on response.
Or have failing MDB put an error message in the database table, so
that the final responder can read the error message?
>
> Many Thanks in Advance,
> C R Baradwaj
>
>
>
>
>
>
>
>
>
>
> Tom Barnes <[email protected]> wrote:
>
>>
>>Raghuram Bharadwaj C wrote:
>>
>>>Thanks tom for your support!
>>>
>>>Let me explain more about the problem.
>>>
>>>Scenario
>>>========
>>>Lets take a simplest case where the client is sending a message to
>>
>>"QueueA" and
>>
>>>he is now waiting for a response in the "ResponseQ"
>>>
>>>The MDB listening to "QueueA" wakes up and split the message(s) into
>>
>>three and
>>
>>>passing it to the next layer of datasource specific queue(s). The queue(s)
>>
>>are
>>
>>>"QueueB", "QueueC" and "QueueD".
>>>
>>>The MDB listening to the datasource specific queue(s) picks up the
>>
>>datasource
>>
>>>request sends it to the datasource and gets the response back from
>>
>>the datasource.
>>
>>>The MDB also updates a table in the database with the response. The
>>
>>MDB also check(s)
>>
>>>after updating the database to see all response(s) from all the datasource(s)
>>>are reached. If yes, one of the MDB also sends a acknowledgement to
>>
>>the "ResponseQ".
>>
>>>
>>>The client listening to the "ResponseQ" gets the acknowledgement and
>>
>>hit the database
>>
>>>to collect all the response(s) from all the datasource(s). These response(s)
>>
>>are
>>
>>>formatted and sent a response to the client. We have also created uniqueid
>>
>>for
>>
>>>identifying each request. This uniqueid is set in the JMSCorrelationID.
>>
>>The client
>>
>>>uses the uniqueid to collect all the response(s) for the request he
>>
>>had sent.
>>
>>>Problem
>>>=======
>>>If an error/exception occurred in a one of the MDB which is listening
>>
>>to QueueB/QueueC/QueueD.
>>
>>>How do we handle this?
>>>
>>>Please let me know all the possibilities that you would have done in
>>
>>this case.
>>
>>>
>>Does A know how many downstream queues are involved? As part of its
>>transaction it can send a message to the responseQ stating which
>>queues to expect responses from. The client gets this message
>>and knows that it must get responses from all of B, C, D, etc.
>>before assuming success. On a failure, B, C, D, etc. can send
>>an error message back to the response Q, or the client can
>>simply timeout.
>>
>>This way there are no race conditions
>>involving unanticipated multiple responses or missing
>>responses, which I think the
>>algorithm you mention above can create.
>>Assuming just B and C (no D):
>> B detects C is done by checking the DB
>> C detects B is done by checking the DB **at the same time**
>> Two response messages get sent
>> - or -
>> B finishes detects C not done, and sends no message.
>> C finishes, B is finished but not reflected in DB yet, sends
>> no message.
>>
>>NOTE: Be aware that when a transaction commits, different
>>resources can response "faster" than others. The transaction
>>monitor has no control over this. So, if as part of the
>>same commit, a database insert and a queue insert is
>>performed, it is possible for a consumer to receive the
>>new message BEFORE the new database insert actually completes.
>>
>>
>>>
>>>Many Thanks in Advance,
>>>
>>>C R Baradwaj
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>Assuming that
>>>
>>>Tom Barnes <[email protected]> wrote:
>>>
>>>
>>>>One approach is to send an "error" message to QB that uses
>>>>the JMSCorrelationID the consumer is expecting. This will
>>>>wake up the consumer, and the consumer can react to
>>>>the error as needed.
>>>>
>>>>Another is to use two asynchronous listeners, one on the
>>>>response queue, and one on a temporary (client created)
>>>>queue. On error detection the MDB can send error messages
>>>>to the temporary queue.
>>>>
>>>>You may want to skim the book "Professional JMS" - as I
>>>>recall, it contains a section on queueing design patterns.
>>>>
>>>>Tom
>>>>
>>>>Raghuram Bharadwaj C wrote:
>>>>
>>>>
>>>>
>>>>>Hi All,
>>>>>
>>>>>Pl. help me with ur expertise in the foll. scenario we are facing.
>>>>>
>>>>>Scenario:
>>>>>I have a requirement where I need to notify the exceptions to my client
>>>>
>>>>while
>>>>
>>>>
>>>>>the client request's are processed asynchronously and my client is
>>>>
>>>>waiting in
>>>>
>>>>
>>>>>synchronous for the response.
>>>>>
>>>>>The client is sending a message to one queue (QueueA) and waiting
>>
>>for
>>
>>>>response
>>>>
>>>>
>>>>>in another queue (QueueB). The message from "QueueA" is picked up
>>
>>by
>>
>>>>a MDB listening
>>>>
>>>>
>>>>>to "QueueA" and it throws an exception while processing some "business
>>>>
>>>>logic".
>>>>
>>>>
>>>>>In this case how do I notify to my client who is waiting in another
>>>>
>>>>queue. i.e.
>>>>
>>>>
>>>>>"QueueB" that there is an exception occurred while processing the
>>
>>business
>>
>>>>logic.
>>>>
>>>>
>>>>>I am using JMSCorrelationID to uniquely identify a response for a
>>
>>request
>>
>>>>sent
>>>>
>>>>
>>>>>by the client.
>>>>>
>>>>>What are the possible options to handle exceptions in JMS for an implementation
>>>>>like the one mentioned above.
>>>>>
>>>>>Any comments/feedback/pointers will be REALLY REALLY appreciated.
>>>>>
>>>>>Tks and regds
>>>>>C R Baradwaj
>>>>
>
-
I get an exception in starting OC4J (oc4j_extended_1013_dp4.zip file, version 10.1.3)
java -jar oc4j.jar
(SEVERE) Failed to set the internal configuration of the OC4J JMS Server with:
XMLJMSServerConfig[file:/C:/oc4j_1013/j2ee/home/config/jms.xml]
Error starting JMS-Server...
On my computer I succeeded to start the same OC4J ok, but on other 2 computers I get the same exception.
What can be the problem?
Thanks.The OC4J instance that is having the problem may have .lock file issues. Some quotes from the JMS chapter of the services guide:
If OC4J terminates normally, then the lock files are cleaned up automatically. However, if OC4J terminates abnormally, for example, a kill -9 command, then the lock files remain in the file system. OC4J can usually recognize leftover lock files. If not, you must manually remove lock files before restarting OC4J after abnormal termination.
JMS persistence lock files are tagged with (contain) server and persistence directory location info. If the lock file exists when the JMS server starts, and the lock file was created by the same server (having the same ip address) and using the same persistence directory location, then the JMS server will assume control of the lock file and start up successfully.
If, for some reason, the jms.state file itself is corrupted, then the only recourse is to delete it, with the attendant loss of all pending transactions - that is, transactions that have been committed, but the commits not yet performed by all individual destination objects participating in the transactions.
Note that the use of an IP address can cause issues if you have abnormal terminations and are using DHCP (so next time you start OC4J you also have a new IP address). There was also an issue in the dev preview versions if you are running on MS-Windows where the .lock files would not be automatically deleted on normal shut down - even if you have since moved to the release version, the old .lock files may still be there. -
We have installed JES2005Q1 on solaris 10, and it worked well. But after setting some configrations on WEB server admin console and apply changes, the server.xml has been changed automatically, returning to original unconfigured version, many items such as /amserver,/amconsole lost. Then we fix this problem as following steps:
1.We insert these lost items(/amserver,/amconsole, etc) into server.xml, and restart.
2.It prompted that some classes can not found. Then we add these related jar(all jars under SUNWam/lib) to "Classpath Suffix" on admin console, restart.
3.It still throw exception during the loading of /amserver, the output on console when the exception occured is attached.
4.Then we do not know how to go on without detailed prompt about the exception.
**********************************************copyed from solaris console begin************************************
# ./start
Sun ONE Web Server 6.1SP4 B12/16/2004 11:42
info: CORE3016: daemon is running as super-user
info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.5.0_01] from [Sun Microsystems Inc.]
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at []
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at [amconsole]
warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at [amserver]
warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at [ampassword]
warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at [amcommon]
info: WEB0100: Loading web module in virtual server [https-tspportal.gdsoftpark.com] at [search]
failure: WebModule[amserver]: WEB2680: Exception starting filter amlcontroller
java.lang.NoClassDefFoundError
at com.iplanet.services.ldap.LDAPUser.getPasswd(LDAPUser.java:117)
at com.iplanet.services.ldap.ServerInstance.getPasswd(ServerInstance.java:128)
at com.sun.identity.security.ServerInstanceAction.run(ServerInstanceAction.java:92)
at java.security.AccessController.doPrivileged(Native Method)
at com.iplanet.ums.DataLayer.getInstance(DataLayer.java:210)
at com.sun.identity.sm.ldap.SMSLdapObject.initialize(SMSLdapObject.java:143)
at com.sun.identity.sm.ldap.SMSLdapObject.<init>(SMSLdapObject.java:118)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at com.sun.identity.sm.SMSEntry.<clinit>(SMSEntry.java:116)
at com.sun.identity.sm.ServiceSchemaManager.<clinit>(ServiceSchemaManager.java:67)
at com.iplanet.am.util.AMClientDetector.getServiceSchemaManager(AMClientDetector.java:219)
at com.iplanet.am.util.AMClientDetector.<clinit>(AMClientDetector.java:94)
at com.sun.mobile.filter.AMLController.init(AMLController.java:85)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:322)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:120)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3271)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3747)
at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
failure: WebModule[amserver]: WEB2705: Context startup failed due to previous errors
info: HTTP3072: [LS ls1] http://tspportal.gdsoftpark.com:80 ready to accept requests
startup: server started successfully
**********************************************end************************************I have the same problem , I am using JES 2005Q4 on Redhat LE 3 AS, I have tried to remove the access manager and reinstall it again , but the same problem still, also I have re install the mobile access packages again (--force) but it does not fix my problem.
Is there is any recommednations ????
Please update me on [email protected]
the error message as follows :
[17/Jan/2006:11:10:47] failure (11396): WebModule[amserver]: WEB2680: Exception starting filter amlcontroller
java.lang.ClassNotFoundException: com.sun.mobile.filter.AMLController
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1301)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:322)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:120)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3271)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3747)
at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
[17/Jan/2006:11:10:47] failure (11396): WebModule[amserver]: WEB2705: Context startup failed due to previous errors
[17/Jan/2006:11:10:50] info (11396): HTTP3072: [LS ls1] http://redhat.omnixco.com:90 ready to accept requests
[17/Jan/2006:11:10:53] info (11396): CORE3274: successful server startup -
Could not start the listener with a domain user
Hi all,
I am working on Windows 2003 with Oracle 10.2.0.2 !
With user "local system account", I can start the listener and I have no problems!
after chaning the user that runs the listener from local system account to a domain user, I cannot start the listener again!
(for the oracle service itself for the database, is it possible to change the user from local system to that domain user without problems)
attached the error message when starting the listener with cmd.
by starting the listener with the restart of the windows service, the listener crashed down after a few minutes
do I have to set additional permissions for that domain user?
thanks in advance
Stefan
C:\Documents and Settings\Administrator>lsnrctl start listener
LSNRCTL for 32-bit Windows: Version 10.2.0.2.0 - Production on 17-JAN-2008 11:51:29
Copyright (c) 1991, 2005, Oracle. All rights reserved.
tnslsnr wird gestartet: Bitte warten...
TNS-12537: TNS: Verbindung beendet
TNS-12560: TNS: Fehler bei Protokolladapter
TNS-00507: Verbindung beendet
32-bit Windows Error: 109: Unknown errorIn this case I see three error messages:
TNS-12537: TNS:connection closed
Cause: "End of file" condition has been reached; partner has disconnected.
Action: None needed; this is an information message.
TNS-12560: TNS:protocol adapter error
Cause: A generic protocol adapter error occurred.
Action: Check addresses used for proper protocol specification. Before reporting this error, look at the error stack and check for lower level transport errors. For further details, turn on tracing and reexecute the operation. Turn off tracing when the operation is complete.
TNS-00507: Connection closed
Cause: Normal "end of file" condition has been reached; partner has disconnected.
Action: None needed; this is an information message.
The most important is the tns-12560 error message, this means that an unsupported protocol exception was raised. Assuming you are using the same environment configuration when starting the listener with the local account and starting it with the domain authenticated user, then it has to do with permissions. Both the local administrator account and the domain authenticated user must belong to the ORA_DBA group, otherwise the user won't have enough privileges to start the listener.
On the other hand, make sure the sqlnet.ora file includes this line:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
If you use a domain user name, log on under a domain with username and password which has administrative privileges on each node
~ Madrid -
JMS Listener Bug??
I am implementing SIM 7.0 and have enabled a JMS Listener resource. The resource works well and we have no issues with it.
The problem is when you try to edit the Synchronization policy for the JMS Listener and then cancel it without saving i.e.
1. Select the JMS Listener
2. Edit Synchronization Policy
3. Cancel the dit, you need not change anything
This throws a Task may have been deleted error. Can someone help me with solving this issue?
I have been trying to raise this as a bug but have not been successful. Can someone help me with how to report a bug. I went to the Bugs Reporting page but could not determine the proper set of options to pick to report a bug with the JMS Listener resource on Sun IdM.That's what I figured with that global interactive I was trying to access the instance variables before so it wasn't showing up under my user. Now instead of an error pop up the error message shows up at the bottom of the runtime UI.
Error at bottom of page: (Followed by a bunch of package names)
Unexpected Error
javax.faces.el.EvaluationException: /jsf/menu/menuActionNormal.xhtml @24,147 onActivate="#{componentBean.doExecuteAction}": fuego.papi.exception.InvalidTaskNumberException: Invalid task number '0' for activity '/Manager#Default-1.0/Global'.
Warning in the Log:
There was an error when trying to obtain the environement information: null
Application: Engine, Module: Main, Thread: <0> StartUpServerIt gives me the top error when I have the notification set up to receive an external notification and gives me the warning for both cases either external notification or internal event. Its an internal event but in the documentation it never covers internal event situations for NotificationWait so I tried both.
Another thing is when I have 2 or more instances waiting at the wait how does it know which one to go too? In the real example it will be receiving an object from the thread that will have an id number. But in this little test set up how does it know which instance the global activity is for? -
I am using weblogic server 6.0 service pack 2.
The problem is in runtime exception in JMS.
Here is an exception I am getting:
java.lang.RuntimeException: Client possibly malfunctioning as RuntimeException thrown
from the onMessage routine of the client
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:1938)
at weblogic.jms.client.JMSSession.run(JMSSession.java:881)
at weblogic.jms.backend.BEServerSession.execute(BEServerSession.java:83)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
This occurs in the line
>bsender = bsession.createSender(bqueue);
of the class, in the onMessage method.
What is the reason for the exception? What can be done to fix it? I just need to
process several messages in parallel.
I have a startup class RateQuoteJMSResponse, that calls JMS.
This happens only when I have a message listeners pool. When I did not use the pool,
it worked OK. But I want to allow processing messages in parallel, and as I understand,
there is no other option except using ServerSessionPool.
When I tried to do that just with QueueReceiver, it worked OK:
qreceiver = qsession.createReceiver (queue);
qreceiver.setMessageListener (this);
qcon.start();
However, that way messages were not processed in parallel.
Here is my code:
package com.bbb.object.jms;
import java.io.*;
import java.util.*;
import javax.jts.*;
import javax.naming.*;
import javax.jms.*;
import com.bbb.object.*;
import com.bbb.object.RateQuote.*;
import org.apache.crimson.tree.*;
import org.w3c.dom.*;
import weblogic.jms.extensions.JMSHelper;
import weblogic.jms.ServerSessionPoolFactory;
public class RateQuoteJMSResponse implements MessageListener
private final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
private final static String JMS_FACTORY="weblogic.closs.jms.QueueConnectionFactory";
private final static String SESSION_POOL_FACTORY="weblogic.jms.ServerSessionPoolFactory:ClossJMSServer";
private final static int ALL_OCCUPIED = -1;
private static REServer servers [];
private static REServersThrottle throttle;
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSession bsession;
//private QueueReceiver qreceiver;
private QueueSender bsender = null;
private Queue queue;
private Queue bqueue;
private ServerSessionPoolFactory sessionPoolFactory;
private ServerSessionPool sessionPool;
private ConnectionConsumer consumer;
private int findUnoccupiedServer ()
for (int ii = 0; ii < servers.length; ii++)
if (servers[ii].isActive () && !servers [ii].isOccupied ())
return ii;
return ALL_OCCUPIED;
private synchronized void updateServers (ActiveServers activeServers)
for (int ii = 0; ii < servers.length; ii++)
boolean wasActive = servers[ii].isActive ();
boolean nowActive = activeServers.isAlive (servers[ii].getHostName ());
if (wasActive && !nowActive)
throttle.removeResource ();
Logging.debugInfoLog ("Resource removed");
else if (!wasActive && nowActive)
throttle.addResource ();
Logging.debugInfoLog ("Resource added");
servers [ii].setActive (nowActive);
// MessageListener interface
//public void processMessage (Message msgIn)
public void onMessage (Message msgIn)
Logging.debugInfoLog ("Starting onMessage");
ActiveServers activeServers = null;
try
activeServers = new ActiveServers();
catch (Exception ignored) {}
Logging.debugInfoLog ("Active Servers file read");
updateServers (activeServers);
Logging.debugInfoLog ("Servers updated");
throttle.getResource ();
Logging.debugInfoLog ("Resource got");
try
Logging.debugInfoLog ("0");
String msgTextIn;
ObjectMessage msgOut;
RateQuoteGetBase rateQuoteGet;
RateQuoteGetXML rateQuoteGetXML;
Logging.debugInfoLog ("1");
if (msgIn == null)
Logging.debugInfoLog ("2");
rateQuoteGet = new RateQuoteGetBase ("Cannot receive a rate quote back from JMS.");
msgTextIn = "";
else
Logging.debugInfoLog ("3");
if (msgIn instanceof TextMessage)
msgTextIn = ((TextMessage)msgIn).getText();
else
msgTextIn = msgIn.toString();
Logging.debugInfoLog ("4");
bqueue = (Queue) msgIn.getJMSReplyTo ();
Logging.debugInfoLog ("8");
bsender = bsession.createSender(bqueue);
Logging.debugInfoLog ("9");
bsender.setDeliveryMode (javax.jms.DeliveryMode.NON_PERSISTENT);
Logging.debugInfoLog ("10");
Logging.debugInfoLog ("Prepareing to find unoccupied server");
int selectedServer = findUnoccupiedServer ();
Logging.debugInfoLog ("Unoccupied server found: " + selectedServer);
if (selectedServer == ALL_OCCUPIED)
rateQuoteGet = new RateQuoteGetBase ("No nonoccupied rating engines found.");
msgTextIn = "";
else
servers [selectedServer].setOccupied ();
Logging.debugInfoLog ("Set occupied: " + selectedServer);
String hostname = servers [selectedServer].getHostName ();
int portId = servers [selectedServer].getPortId ();
rateQuoteGet = new RateQuoteGetBase (hostname, portId);
rateQuoteGetXML = new RateQuoteGetXML (new RateQuoteGet (rateQuoteGet));
rateQuoteGetXML.prepareXML ();
servers [selectedServer].setUnOccupied ();
Logging.debugInfoLog ("Set unoccupied: " + selectedServer);
if (!rateQuoteGetXML.hasErrorOccured ())
rateQuoteGet.sendXML (msgTextIn);
rateQuoteGet.prepareXML ();
Logging.debugInfoLog("Message Received: " + msgTextIn );
msgOut = bsession.createObjectMessage ();
msgOut.setObject (rateQuoteGet);
bsender.send (msgOut, javax.jms.DeliveryMode.NON_PERSISTENT,
javax.jms.Message.DEFAULT_PRIORITY, 18000000L);
Logging.debugInfoLog("Message Sent Back: " + rateQuoteGet.getXML());
Logging.debugInfoLog ("End of massage sent back");
rateQuoteGet.debugPrint ();
catch (JMSException jmse)
Logging.debugInfoLog ("5");
jmse.printStackTrace();
Logging.debugInfoLog ("6");
try
if (bsender != null)
bsender.close ();
catch (JMSException ignored) {}
finally
bsender = null;
Logging.debugInfoLog ("7");
try
throttle.freeResource ();
Logging.debugInfoLog ("Resource freed");
Logging.debugInfoLog ("Finishing onMessage");
catch (Exception ignored) {}
* Create all the necessary objects for receiving
* messages from a JMS queue.
public void init(Context ctx, String queueName, int countListeners) throws NamingException,
JMSException
//Logging.debugInfoLog ("Class name: " + this.getClass().getName());
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
bsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
try
queue = (Queue) ctx.lookup(queueName);
catch (NamingException ne)
ne.printStackTrace ();
//queue = (Queue) ctx.lookup (queueName);
//queue = qsession.createQueue (queueName);
//queue = JMSHelper.createPermanentQueueAsync(ctx, "closs", "ClossJMSServer",
queueName, JNDI_FACTORY);
//JMSHelper.createPermanentQueueAsync(ctx, "ClossJMSServer", queueName, JNDI_FACTORY);
//queue = qsession.createQueue("ClossJMSServer/" + queueName);
//queue = createPermanentQueueAsync(ctx, jmsServerName, queueName, jndiName);
//ctx.bind(queueName, queue);
//qreceiver = qsession.createReceiver (queue);
//qreceiver.setMessageListener (this);
qcon.start();
sessionPoolFactory = (ServerSessionPoolFactory) ctx.lookup (SESSION_POOL_FACTORY);
sessionPool = sessionPoolFactory.getServerSessionPool ( qcon,
countListeners,
false,
Session.AUTO_ACKNOWLEDGE,
this.getClass().getName());
ConnectionConsumer consumer = qcon.createConnectionConsumer (queue, "", sessionPool,
3*countListeners);
* Close JMS objects.
public void close()
try
//if (qreceiver != null)
// qreceiver.close();
if (consumer != null)
consumer.close();
catch (JMSException ignored){}
//qreceiver = null;
consumer = null;
try
if (qsession != null)
qsession.close();
catch (JMSException ignored){}
qsession = null;
try
if (bsender != null)
bsender.close();
catch (JMSException ignored){}
bsender = null;
try
if (bsession != null)
bsession.close();
catch (JMSException ignored){}
bsession = null;
try
if (qcon != null)
qcon.close();
catch (JMSException ignored){}
qcon = null;
* Receive a JMS message.
//public Message receive() throws JMSException
// return qreceiver.receive ();
public static void main (String[] args) throws Exception
Message msg;
int len = args.length;
if (len %2 != 0 || len == 0)
Logging.debugInfoLog("Usage: java RateQuoteJMSResponse hostname portid hostname
portid ...");
return;
int reCount = len/2;
throttle = new REServersThrottle (0);
servers = new REServer [reCount];
for (int ii = 0; ii < reCount; ii++)
servers [ii] = new REServer (args [2*ii], args [2*ii + 1]);
//Logging.debugInfoLog ("Arguments: " + args[0] + " " + args[1]);
InitialContext ic = getInitialContext (ClickProperties.getInitialContext());
RateQuoteJMSResponse qr = new RateQuoteJMSResponse ();
qr.init (ic, ClickProperties.getJMSQueue(), reCount);
Logging.debugInfoLog("JMS Rating Engine Responser Is Ready To Receive Messages.");
// Wait until a "quit" message has been received.
//synchronized (qr)
// while (true)
// msg = qr.receive ();
// Logging.debugInfoLog ("Message received");
// qr.processMessage (msg);
//qr.close();
private static InitialContext getInitialContext (String url) throws NamingException
Hashtable env = new Hashtable();
env.put (Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put (Context.PROVIDER_URL, url);
return new InitialContext(env);
And here is the output from weblogic console:
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Active Servers file rea
d>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Throttle max increased
to: 1>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Resource added>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Servers updated>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Throttle count increase
d to: 1>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <Resource got>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <0>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <1>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <3>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <4>
<May 15, 2002 11:11:57 AM EDT> <Debug> <Debug Info Log> <8>
java.lang.RuntimeException: Client possibly malfunctioning as RuntimeException t
hrown from the onMessage routine of the client
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:1938)
at weblogic.jms.client.JMSSession.run(JMSSession.java:881)
at weblogic.jms.backend.BEServerSession.execute(BEServerSession.java:83)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
[config.xml]
Thanks. It creates a new class each time onMessage () is called. I thought it uses
an existing instance of the class.
"Zach" <[email protected]> wrote:
>You need to trap the exception inside the onMessage so you can see the
>exception that is being thrown by the bsession.createSender call. This
>stack trace doesn't give enough information. It is just a message saying
>your code failed to handle and leaked an exception out of the onMessage.
>If that is the line that failed, then try catch around it and look at the
>stack trace for that exception.
>
>_sjz.
>
>"Alexander Rabinowitz" <[email protected]> wrote in message
>news:[email protected]...
>>
>> I am using weblogic server 6.0 service pack 2.
>> The problem is in runtime exception in JMS.
>> Here is an exception I am getting:
>> java.lang.RuntimeException: Client possibly malfunctioning as
>RuntimeException thrown
>> from the onMessage routine of the client
>> at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:1938)
>> at weblogic.jms.client.JMSSession.run(JMSSession.java:881)
>> at
>weblogic.jms.backend.BEServerSession.execute(BEServerSession.java:83)
>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>>
>> This occurs in the line
>>
>> >bsender = bsession.createSender(bqueue);
>>
>> of the class, in the onMessage method.
>>
>> What is the reason for the exception? What can be done to fix it? I just
>need to
>> process several messages in parallel.
>
>
>
-
Exception starting xend (Broken capability chain: 0000:0c:00.0
Hi all,
i just installed ovm on my lab pc for learning purposes.
my lab pc is a Gigabyte X79-UD5 motherboard with sandy bridge processor and 32 gb ram.
the installation went ok but when i wanted to discover it with OVM manager i received :
"Caused by: com.oracle.ovm.mgr.api.exception.IllegalOperationException: OVMAPI_4004E Server Failed Command: discover_server , Status: org.apache.xmlrpc.XmlRpcException: exceptions.RuntimeError:Command: ['xm', 'info'] failed (1): stderr: Error: Unable to connect to xend: No such file or directory. Is xend running?
stdout:
Sat Jan 12 21:21:19 CET 2013
at com.oracle.ovm.mgr.action.ActionEngine.sendAction(ActionEngine.java:798)
at com.oracle.ovm.mgr.action.ActionEngine.sendCommandToServer(ActionEngine.java:503)
... 36 more
i had a look on the ovm server and noticed following in /var/log/xen
PciDeviceParseError: Broken capability chain: 0000:0c:00.0
[2013-01-12 20:50:38 3756] INFO (SrvDaemon:227) Xend stopped due to signal 15.
[2013-01-12 20:50:42 4206] INFO (SrvDaemon:332) Xend Daemon started
[2013-01-12 20:50:42 4206] INFO (SrvDaemon:336) Xend changeset: unavailable.
[2013-01-12 20:50:42 4206] DEBUG (tcp:96) Listening on :8002
[2013-01-12 20:50:42 4206] DEBUG (tcp:193) Listening on :8003
[2013-01-12 20:50:42 4206] ERROR (SrvDaemon:349) Exception starting xend (Broken capability chain: 0000:0c:00.0)
Traceback (most recent call last):
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line 341, in run
servers = SrvServer.create()
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvServer.py", line 258, in create
root.putChild('xend', SrvRoot())
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvRoot.py", line 40, in __init__
self.get(name)
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 84, in get
val = val.getobj()
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 52, in getobj
self.obj = klassobj()
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvNode.py", line 30, in __init__
self.xn = XendNode.instance()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line 1181, in instance
inst = XendNode()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line 159, in __init__
self._init_PPCIs()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line 282, in initPPCIs
for pci_dev in PciUtil.get_all_pci_devices():
File "/usr/lib64/python2.4/site-packages/xen/util/pci.py", line 476, in get_all_pci_devices
return map(PciDevice, get_all_pci_dict())
File "/usr/lib64/python2.4/site-packages/xen/util/pci.py", line 701, in __init__
self.get_info_from_sysfs()
File "/usr/lib64/python2.4/site-packages/xen/util/pci.py", line 1271, in get_info_from_sysfs
self.find_capability(0x11)
File "/usr/lib64/python2.4/site-packages/xen/util/pci.py", line 1233, in find_capability
raise PciDeviceParseError(
PciDeviceParseError: Broken capability chain: 0000:0c:00.0
any ideas of whats wrong here ?
all help appreciated ...
best regards,
Philippei found following link have no idea if this is related to my issue
http://wiki.xen.org/wiki/VTd_HowTo -
Securing the Peoplesoft JMS listening connector URL
In order to start or stop the JMS listening connector we execute a URL on the browser; the URL looks like..
http://<WEBSERVER>:<PORT>/PSIGW/JMSListeningConnectorAdministrator?Activity=START
http://<WEBSERVER>:<PORT>/PSIGW/JMSListeningConnectorAdministrator?Activity=STOP
Problem with this is that any one who knows this can playaround with the listening connector of the production instance; and moreover if he can access the peoplesoft signon page, he can easily know the webserver URL.
Is there any means that this can be secured; for example executing this URL should first take the user to an authentication page..
-Sudriptaon the webserver u can find the .class file here
PS_HOME\webserv\domain_name\applications\peoplesoft\PSIGW\WEB-INF\classes\com\peoplesoft\pt\integrationgateway\listeningconnector
u open this .class file u need a java compiler (or) hex editor to read the content.
Thnks!
Maybe you are looking for
-
How to update FixedAsset with BAPI_FIXEDASSET_CHANGE
Hi I'm using BAPI_FIXEDASSET_CHANGE to update Cost Center, return message show it's update but when I check AS03, no update make it. Data exported through BAPI Company Code ZZ01 Asset 5102591 TIMEDEPENDENTDATA-BUS_AREA = US02 TIMEDEPENDENTDAT
-
Hi, Is there any documentation available for IS-Retail ECC upgrade including POS, ITS ? Any check-list/questionnaire for integration with POS/ITS? Thanks, Mithun
-
I've tested this problem on multiple browsers (Opera, Firefox, Chrome and even IE), and Firefox is the only one I'm having problems with. I only recently installed the 4b11 version of Firefox (After not using the browser for a while), and after an ho
-
How NOT to do security & customer support
Our Skype account was suspended, for reasons unknown to me - but understandable, since security is important. (And no, it was not one of those pesky scam emails, and OF COURSE I tried to log in directly via Skype (on both my Mac and my iPad) and not
-
Artist Name Multiple Times?
Hi - When I d'load songs to my Nano, and then select "artist" in the menu, some of the artist's names appear multiple times. What causes this, and how do I correct it? Thanks in advance! G