Weblogic JMS Cluster
Hi,
I have a 6.1 cluster that has a JMS server A and a JMS Server B
deployed and running on each of the managed nodes. As destination I
created a topic with the same name for each JMS Server. The connection
factories I deployed to the cluster only.
My problem is, when I start the second managed server, I get the
following error:
<Error> <Cluster> <Conflict start: You tried to bind an object under
the name
com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
have bound
from 169.59.5.26 is non clusterable and you have tried to bind more
than once
from two or more servers. Such objects can only deployed from one
server.>
When I understand correctly, this happens because the JNDI tree gets
distributed to all nodes of the cluster, so there would be two object
with the same name. How do I solve this situation? Do I have the
specify different names for topics in different JMSServer running in a
cluster? How would the load balancing work?
Please help. Thanks in advance
Juerg
Tom,
Thanks for your help so far, I installed the patch and got things
working. However I still have some open points where you might be able
to help.
Let's assume I don't have these smart forwarders and I have four
topics per JMSServer deployed to two managed nodes. Connection
factories deployed to the cluster. When I connect N publishers
through the cluster, messages from one publisher end up in the
appropriate topic on nodeA, messages from another publisher end up in
the appropriate topic on nodeB. Now when I connect a durable
subscriber via the cluster I only get messages from topics from one of
the managed nodes, right? (This is exactly what I am seeing in my
tests) Connecting durable subscribers to each managed node is not
possible because of JNDI (throws exception like
InstanceAlreadyExists). How would I connect a subscriber so that it
subscribes to the right topics on the right node ( one the works with
the previously described publisher)?
All this leads me to the conclusion, that without the forwarders, a
JMS cluster with Weblogic 6.1 is not so powerful, it basically does
just load balacing.
Is this correct or am I missing something important here?
Thanks a lot and have a nice weekend
Juerg
Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
> Juerg Staub wrote:
> > Tom,
> >
> > Thanks a lot. Bascially I did everything right, just need the patch.
> >
> > In the other hand I'd like to know what the benefits of the smart
> > forwarders would be. When I understand correctly, every message would
> > be forwarded to the appropriate topic in the different JMS servers.
> > What would that bring in the case of a failure(one node of a cluster
> > goes down)? As far as I can see, I still would need to 're-establish'
> > the connection factory, topic session, topic and publisher in order to
> > publish messages again?
> >
>
> Yep. I think we are on the same page:
>
> The "smart-forwarders" would do what the 7.0 distributed topic
> forwarders do for you. They would forward messages bound to
> a particular physical topic to all instances of the topic.
> This can be implemented via a durable subscription on a
> member topic by each remote member topic's host.
> MDBs could be used to service the durable subscription,
> as they already have the reconnect logic built in.
> (Durable subscriptions are used if you wish to guard against
> lost messages). The forwarders
> need to change a property on the message to indicate
> that the message is already forwarded, and forward
> only messages that have'nt been forwarded (to prevent
> endless loops!).
>
>
> > Thanks
> >
> > Juerg
> >
> > Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
> >
> >>I suggest you read the "emulating 7.0 distributed destinations"
> >>section of the JMS performance white-paper available on dev2dev.bea.com.
> >>You will need to apply the referenced enhancement patch on top of SP3 to
> >>disable JNDI replication (or update to 6.1SP4).
> >>
> >>If you need to create a true distributed topic, you will also need to
> >>write your own "smart-forwarders" to forward messages
> >>between the different physical instances of the topic. Or simply
> >>use WL JMS 7.0 (the upgrade from 6.1 is straight-forward).
> >>
> >>Tom
> >>
> >>Juerg Staub wrote:
> >>
> >>>Hi,
> >>>
> >>>I have a 6.1 cluster that has a JMS server A and a JMS Server B
> >>>deployed and running on each of the managed nodes. As destination I
> >>>created a topic with the same name for each JMS Server. The connection
> >>>factories I deployed to the cluster only.
> >>>
> >>>My problem is, when I start the second managed server, I get the
> >>>following error:
> >>>
> >>><Error> <Cluster> <Conflict start: You tried to bind an object under
> >>>the name
> >>>com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
> >>>have bound
> >>>from 169.59.5.26 is non clusterable and you have tried to bind more
> >>>than once
> >>>from two or more servers. Such objects can only deployed from one
> >>>server.>
> >>>
> >>>
> >>>When I understand correctly, this happens because the JNDI tree gets
> >>>distributed to all nodes of the cluster, so there would be two object
> >>>with the same name. How do I solve this situation? Do I have the
> >>>specify different names for topics in different JMSServer running in a
> >>>cluster? How would the load balancing work?
> >>>
> >>>
> >>>Please help. Thanks in advance
> >>>
> >>>Juerg
> >>
Similar Messages
-
JMS messages stuck in queue in weblogic v923 cluster
Hi all,
Enviornment details:
In our pre-production weblogic v923 cluster enviornment with Oracle 10g database, there are 10 server boxes with 2 managed nodes running on each server box in linux enviornment.
There are 3 JMS queues and 1 error queue per managed node.
All the queues are durable and the persitence store is a database table. There is a single database table per single managed node.
High loads of JMS messages from client applications coming on each of the 3 JMS queue are processed by the cluster on daily basis.
The JMS messages that failed to be processed the very first time due to the application logic exceptions are put on error queue since the retry is set to zero on the non-error queue.
The application exceptions are logged to a database table for futher reference.
The falied messages from the error queue are read by spring based MDP and resent to the application for reprocessing.
If no application exceptions, the message will be persisted in a relational database; in the case of failures, MDP code puts the failed message back on to the error queue.
The auto_ack is true on the JMS message.
It is observed about less than 1% of the messages fail the original processing and are in error queue on daily basis.
99.9% of the time, the reprocessing of the messages from the error queue is a success.
Currently due to some obvious reasons, the system administrator stops a managed node when the disk is full and start a different managed node on the same server box. This approach will be stopped in the very near future so that all nodes on all servers are running at any point of time by making few enviornment changes.
Problem:
1a) Occasionally, it is observed that 1 - 4 JMS messages are stuck in the error queue. There are no signs of reprocessing as there are no application exceptions or the corresponing insert into the database. The JMS persistence store table still has the JMS message.
1b) It is observed that over time, the same JMS messages that were originally stuck on server 1's managed node A are no longer there but are found in a different node (say node B) on a different server box.
As far as I understand the JMS, a message could be in a Pending state if MDP (in my case) does not automatically send ACKNOWLEGMENT back due to an issue in the Spring Defaultlisternercontainer before calling MDP's onMessage(). I am not sure as what happens to that status over time).
It is also observed that the stuck messages content is not much different than the other messages that are processed fine.
Any pointers/input is highly appreciated.
Thanks in advance for your valuable input and time.Off the top of my head, I can only think of two reasons why a message might move from node to node:
(A) An application is dequeueing them and enquening them elsewhere.
(B) The application is using distributed queues, and the distributed queue has been configured to enable "queue forwarding". The forwarding feature automatically moves messages from distributed queue members that have no consumers to members that do have consumers. Queue forwarding is sometimes enabled as a work-around to better enable MDP support of WL distributed destinations, unlike WebLogic MDBs, MDPs have no container logic to ensure that all members of a distributed destination are serviced by a consumer under all circumstances...
Regards,
Tom -
JMSClientExceptions:055053 -WebLogic10 Cluster - Remote WebLogic JMS - Help
All,
We are using a foreign JMS provider from WeLogic 10 cluster to connect to the Remote WebLogic JMS Server. We are getting below error while posting the data to the queue. Any help , ideas as to why this is occuring please?
/ Error
Error during connection/session creation:weblogic.jms.common.JMSException: [*JMSClientExceptions:055053*]Error creating connection to the server: java.rmi.UnmarshalException: failed to unmarshal class weblogic.jms.client.JMSConnection; nested exception is: java.io.StreamCorruptedException|portal
Thanks a lot for your help.All
The issue popped up gain. Below is the full stack trace. I confirmed that we are using the t3 URL to connect to remote JMS server (which is Weblogic 10 /JMS). Appreciate any insights help to resolve this issue.
// Stack Trace
weblogic.jms.common.JMSException: [JMSClientExceptions:055053]Error creating connection to the server: java.rmi.UnmarshalException:
failed to unmarshal class weblogic.jms.client.JMSConnection; nested exception is:
java.io.StreamCorruptedException
at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:253)
at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:285)
at weblogic.jms.client.JMSConnectionFactory.createQueueConnection(JMSConnectionFactory.java:165)
at com.juniper.core.mdb.MessageSender.initSession(MessageSender.java:79)
at com.juniper.core.mdb.MessageSender.<init>(MessageSender.java:64)
at com.juniper.core.mdb.MDBHelper.processMessage(MDBHelper.java:98)
at com.juniper.core.mdb.BaseMDB.onMessage(BaseMDB.java:35)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3964)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
Caused by: java.rmi.UnmarshalException: failed to unmarshal class weblogic.jms.client.JMSConnection; nested exception is:
java.io.StreamCorruptedException
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:229)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jms.frontend.FEConnectionFactoryImpl_1001_WLStub.connectionCreate(Unknown Source)
at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:244)
... 15 more
Caused by: java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:227)
... 19 more
Thanks
Edited by: user3285437 on May 4, 2009 9:26 AM -
WebLogic JMS high memory usage and frequent full GCs
Hi Team,
We have below set up in production (and all the lower environment).
1. WLS: 10.3.6 (64 bit)
2. Java: HP JDK 1.7.0.06 (64 bit)
3. Two Manage server instances in cluster with one Migratable target
4. one JMS server with Persistence store targeted to Migratable target
5. Messages are persisted in DB
6. about 37 distributed queues/topics are hosted on one JMS server
7. .Net JMS clients and WebLogic JMS clients connect to respective JMS distributed Queues/topics to either produce message or consume.
Since last month, we see that WebLogic Manage server hosting JMS server keeps on chewing memory "even with small (of the order of 28 messages in 4/5 days) load", GC indicates that objects are shifted from PSYoung space to ParOldGen during minor GCs but ParOldGen space keeps on filling up in smaller chunks. After x number of days (where x ranges from 5-7 days), even Full GC is not able to bring down memory significantly and that's when frequent full GCs start with long pauses making JMS highly unstable.
We don't have JMS Quotas configured but I think something else going on as it is not high on load. Any additional hints or troubleshooting steps is much appreciated?
Here is first and last GC log just to give an idea...
Heap after GC invocations=661 (full 0):
{Heap before GC invocations=1 (full 0):
PSYoungGen total 1225728K, used 1050624K [9fffffff09c00000, 9fffffff5f400000, 9fffffff5f400000)
eden space 1050624K, 100% used [0x9fffffff09c00000,0x9fffffff49e00000,0x9fffffff49e00000)
from space 175104K, 0% used [0x9fffffff54900000,0x9fffffff54900000,0x9fffffff5f400000)
to space 175104K, 0% used [0x9fffffff49e00000,0x9fffffff49e00000,0x9fffffff54900000)
ParOldGen total 2797568K, used 0K [0x9ffffffe5f000000, 0x9fffffff09c00000, 0x9fffffff09c00000)
object space 2797568K, 0% used [0x9ffffffe5f000000,0x9ffffffe5f000000,0x9fffffff09c00000)
PSPermGen total 49152K, used 47453K [0x9ffffffe1f000000, 0x9ffffffe22000000, 0x9ffffffe5f000000)
object space 49152K, 96% used [0x9ffffffe1f000000,0x9ffffffe21e57630,0x9ffffffe22000000)
2014-12-24T09:04:45.118-0700: 15.651: [GC [PSYoungGen: 1050624K->118221K(1225728K)] 1050624K->118293K(4023296K), 0.32600
15 secs] [Times: user=0.07 sys=0.00, real=0.33 secs]
{Heap before GC invocations=661 (full 0):
PSYoungGen total 1367168K, used 1364256K [9fffffff09c00000, 9fffffff5f400000, 9fffffff5f400000)
eden space 1333376K, 100% used [0x9fffffff09c00000,0x9fffffff5b220000,0x9fffffff5b220000)
from space 33792K, 91% used [0x9fffffff5d300000,0x9fffffff5f128030,0x9fffffff5f400000)
to space 33664K, 0% used [0x9fffffff5b220000,0x9fffffff5b220000,0x9fffffff5d300000)
ParOldGen total 2797568K, used 2654825K [0x9ffffffe5f000000, 0x9fffffff09c00000, 0x9fffffff09c00000)
object space 2797568K, 94% used [0x9ffffffe5f000000,0x9fffffff0109a5c0,0x9fffffff09c00000)
PSPermGen total 151552K, used 147591K [0x9ffffffe1f000000, 0x9ffffffe28400000, 0x9ffffffe5f000000)
object space 151552K, 97% used [0x9ffffffe1f000000,0x9ffffffe28021cd8,0x9ffffffe28400000)
2014-12-29T08:18:08.798-0700: 429216.418: [GC [PSYoungGen: 1364256K->33632K(1329792K)] 4019081K->2752791K(4127360K), 0.8
254362 secs] [Times: user=0.10 sys=0.00, real=0.83 secs]
Regards,Thanks Luz. I have been collecting gclogs and heap dumps (whenever app server is high on memory and frequent GCs with long pauses are seen). So far heap dumps haven't revealed anything specific (may be I am not able to read heap dumps properly ) but looking at GC confirms that app server is consuming allocated heap.I was following Oracle WebLogic server support Patter as you have indicated. I thought about opening a ticket with HP but on high level JVM is doing what is suppose to do i.e allocating memory space as needed and performing GC therefore didn't go that path.
Any other suggestions that might be useful. One of the things I forgot to mention ( and I will add it to original message), that one of the .Net consumers is not asynchronously connecting to its queue (to consume messages) rather it is synchronously connects and then if it doesn't find messages it disconnects and process goes on every few seconds. I was reading somewhere that frequent JNDI look ups should be avoided. Can this cause memory issue if so then it is strange as this same set up has been there over a year and we never has problem then?
Regards, -
Problem in Interacting with Weblogic JMS through Informatica ETL server
Hi All,
We are trying to configure Informatica PowerCenter server to interact with JMS queues created on Weblogic 11gR1 server. We have copied the necessary
jar file - wlfullclient.jar to the classpath of the Informatica server.
Now when i try to read contents of a JMS queue created on Weblogic server through Informatica, i get this error:-
Failed to get the Queue Connection Factory [weblogic.jms.common.DestinationImpl]. Reason: Failed to look up object [While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms'Exception Stack: javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms']; remaining name 'common/DestinationImpl'
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:464)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:272)
at weblogic.jndi.internal.ServerNamingNode_1211_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:418)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:406)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.informatica.powerconnect.jms.server.common.JNDIConnection.getJNDIObject(JNDIConnection.java:84)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection$PlginJMSQueueConnection.createConnection(PlginJMSConnection.java:363)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection.<init>(PlginJMSConnection.java:90)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection$PlginJMSQueueConnection.<init>(PlginJMSConnection.java:352)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection.create(PlginJMSConnection.java:115)
at com.informatica.powerconnect.jms.server.reader.JMSReaderSQDriver.createPartitionDriver(JMSReaderSQDriver.java:557)
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'
I have checked that this class file exists in the above said location :- "weblogic/jms/common/DestinationImpl.class" within the wlfullclient.jar but still the
code is not able to access the class. Similar error came initially while doing JNDI connection using "weblogic.jndi.WLInitialContextFactory" class but it vanished,
when i explicitly named the jar file on classpth, instead of just the folder containing the jar file.
To all the users/experts/moderators of Weblogic - Could you please help me understand why Weblogic is not able to look up subcontext 'common'
for the class - "weblogic.jms.common.DestinationImpl" ??
Thanks & Regards
Raj
Edited by: user8931188 on May 17, 2012 7:39 AMYou are experiencing a NameNotFoundException, not ClassNotFoundException so it seems there is something wrong about the client connection code or WebLogic config.
Can you share your client connection connection config/code? -
Using Weblogic jms message id for unique id
Hi All,
We have a requirement to generate random unique id for each message processed by the application. We are planning to leverage weblogic jms message id for this purpose rather than building our own application logic for this purpose . Will there be any issue adopting this ? We think weblogic jms message id will be unique across the cluster as id is a hash of current timestamp + jms server name + wl server name + ?? .. is this correct ?
TIA
AtheekHi Atheek,
It depends on what are you planning to do with that id, as there are some gotchas on Weblogic's JMSMessageID generation.
I guess the msg id could be considered statiscaly unique as Tom says, but the msg id will change during the livecycle of your message, surprise! (yea, the JMS spec allows the JMS server to modify the msg ids).
So if you want to use that id to correlate messages id, or to group info related to one message, using JMSMessageID could be a problem.
You can consider to generate a UUID, using Java 1.5 support (java.util.UUID) or a external library (JUG http://jug.safehaus.org for instance), and attach that id as a JMSCorrelationId or a user defined property.
Hope this helps -
Session Beans and TIBCO E4JMS and Weblogic JMS 8.1
Setup:-
Weblogic Server 8.1 SP2 on Linux
TIBCO E4JMS 3.1.2
I have a two Staeless Session Beans which are deployed in both sides of the cluster
- Cluster is made up of two servers(ManagedServer1 and ManagedServer2) on the
same machine. The beans have container managed transaction and trans-type set
to required. The JMS Server is on ManagedServer1. The session bean publishes 100
messages to TIBCO JMS and Weblogic JMS and calls the second bean which again publishes
100 messages to TIBCO JMS and Weblogic JMS .
The connection factories used are XAQueueConnectionFactories.
This seems to work under the following conditions:-
a) The session beans are deployed just in ManagedServer1
b) The WL load balancing scheme manages to run both the beans on ManagedServer1
c) If I don't publish onto Weblogic JMS( It runs successfully on ManagedServer1
and ManagedServer2)
It does not seems to work :-
When the The WL load balancing scheme manages to run both the beans on ManagedServer2.I
put debug statements on the beans and it seems to publish everything but fails
during the commit
murali@dbuslinux1:~/SessionBeanExample> ant run
Buildfile: build.xml
run:
[java] Run : 0
[java] InitialContextFactory weblogic.jndi.WLInitialContextFactory
[java] Provider Url t3://myhost.mycompany.com:18003,myhost.mycompany.com:18005
[java] javax.transaction.TransactionRolledbackException: Exception while
commiting Tx : Name=[EJB Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer,java.lang.String,boolean,boolean)],Xid=BEA1-000649EC8876A0032A5E(160401684),Status=Rolled
back. [Reason=javax.transaction.xa.XAException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=3,seconds left=30,XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@a0181b0),XAServerResourceInfo[JMS_MyJMS
File Store]=(ServerResourceInfo[JMS_MyJMS File Store]=(state=rolledback,assigned=ManagedServer1),xar=null),XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@98f6821),SCInfo[E4JMSDOMAIN+ManagedServer1]=(state=rolledback),SCInfo[E4JMSDOMAIN+ManagedServer2]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer,java.lang.String,boolean,boolean)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ManagedServer2+myhost.mycompany.com:18005+E4JMSDOMAIN+t3+,
XAResources={},NonXAResources={})],CoordinatorURL=ManagedServer2+myhost.mycompany.com:18005+E4JMSDOMAIN+t3+):
javax.transaction.xa.XAException
[java] at com.tibco.tibjms.TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(TibjmsXAResource.java:157)
[java] at weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(Unknown
Source)
[java] at weblogic.transaction.internal.XAServerResourceInfo.end(Lweblogic.transaction.internal.ServerTransactionImpl;Ljavax.transaction.xa.Xid;I)V(XAServerResourceInfo.java:1124)
[java] at weblogic.transaction.internal.XAServerResourceInfo.internalDelist(Lweblogic.transaction.internal.ServerTransactionImpl;I)V(XAServerResourceInfo.java:325)
[java] at weblogic.transaction.internal.XAServerResourceInfo.delist(Lweblogic.transaction.internal.ServerTransactionImpl;IZ)V(XAServerResourceInfo.java:255)
[java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(IZ)V(ServerTransactionImpl.java:1408)
[java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(I)V(ServerTransactionImpl.java:1396)
[java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare()V(ServerTransactionImpl.java:1932)
[java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit()V(ServerTransactionImpl.java:252)
[java] at weblogic.transaction.internal.ServerTransactionImpl.commit()V(ServerTransactionImpl.java:221)
[java] at weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic.ejb20.interfaces.InvocationWrapper;Ljava.lang.Throwable;)V(BaseEJBObject.java:289)
[java] at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic.ejb20.interfaces.InvocationWrapper;Ljava.lang.Throwable;)V(StatelessEJBObject.java:141)
[java] at Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Ljava.lang.Integer;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Stateless_soycq8_EOImpl.java:112)
[java] at Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(ILweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Object;)Lweblogic.rmi.spi.OutboundResponse;(Unknown
Source)
[java] at weblogic.rmi.internal.BasicServerRef.invoke(Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;)V(BasicServerRef.java:477)
[java] at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;)V(ReplicaAwareServerRef.java:108)
[java] at weblogic.rmi.internal.BasicServerRef$1.run()Ljava.lang.Object;(BasicServerRef.java:420)
[java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(AuthenticatedSubject.java:353)
[java] at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(SecurityManager.java:144)
[java] at weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.InboundRequest;)V(BasicServerRef.java:415)
[java] at weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteThread;)V(BasicExecuteRequest.java:30)
[java] at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:197)
[java] at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
[java] at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown
Source)
[java] ; nested exception is:
[java] javax.transaction.xa.XAException
[java] at weblogic.rjvm.BasicOutboundRequest.sendReceive()Lweblogic.rmi.spi.InboundResponse;(BasicOutboundRequest.java:108)
[java] at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Lweblogic.rmi.extensions.server.RemoteReference;Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:284)
[java] at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Ljava.rmi.Remote;Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:244)
[java] at Case463495.Stateless_soycq8_EOImpl_812_WLStub.sendMessageWrap(Ljava.lang.Integer;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Unknown
Source)
[java] at Case463495.Client.run()V(Client.java:103)
[java] at Case463495.Client.sendMessage()V(Client.java:132)
[java] at Case463495.Client.main([Ljava.lang.String;)V(Client.java:195)
[java] Caused by: javax.transaction.xa.XAException
[java] at com.tibco.tibjms.TibjmsXAResource.end(TibjmsXAResource.java:157)
[java] at weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.end(Unknown
Source)
[java] at weblogic.transaction.internal.XAServerResourceInfo.end(XAServerResourceInfo.java:1124)
[java] at weblogic.transaction.internal.XAServerResourceInfo.internalDelist(XAServerResourceInfo.java:325)
[java] at weblogic.transaction.internal.XAServerResourceInfo.delist(XAServerResourceInfo.java:255)
[java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransactionImpl.java:1408)
[java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransactionImpl.java:1396)
[java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:1932)
[java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:252)
[java] at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
[java] at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:289)
[java] at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:141)
[java] at Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Stateless_soycq8_EOImpl.java:112)
[java] at Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(Unknown Source)
[java] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
[java] at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
[java] at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
[java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
[java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
[java] at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
[java] at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
[java] at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
[java] at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
[java] at java.lang.Thread.startThreadFromVM(Unknown Source)
Apologies in advance if this need to be posted in the JTA news group..
Any ideas?
Murali
Posting to the transaction newsgroup would probably also be helpful.
Can you post the code for the session bean so we can see how you're
enlisting Tibco in the transaction? It looks like you're using the JMS
provider wrappers from 8.1, which do the transaction enlistment for you, so
you shouldn't need to mess with JTA at all in your code. Still, something
weird is going on and it'd be nice to see exactly what your code looks like.
greg
"L Muralidharan" <[email protected]> wrote in message
news:[email protected]...
>
> Setup:-
>
> Weblogic Server 8.1 SP2 on Linux
>
> TIBCO E4JMS 3.1.2
>
> I have a two Staeless Session Beans which are deployed in both sides of
the cluster
> - Cluster is made up of two servers(ManagedServer1 and ManagedServer2) on
the
> same machine. The beans have container managed transaction and trans-type
set
> to required. The JMS Server is on ManagedServer1. The session bean
publishes 100
> messages to TIBCO JMS and Weblogic JMS and calls the second bean which
again publishes
> 100 messages to TIBCO JMS and Weblogic JMS .
>
> The connection factories used are XAQueueConnectionFactories.
>
> This seems to work under the following conditions:-
>
> a) The session beans are deployed just in ManagedServer1
> b) The WL load balancing scheme manages to run both the beans on
ManagedServer1
> c) If I don't publish onto Weblogic JMS( It runs successfully on
ManagedServer1
> and ManagedServer2)
>
> It does not seems to work :-
>
> When the The WL load balancing scheme manages to run both the beans on
ManagedServer2.I
> put debug statements on the beans and it seems to publish everything but
fails
> during the commit
>
> murali@dbuslinux1:~/SessionBeanExample> ant run
> Buildfile: build.xml
>
> run:
> [java] Run : 0
> [java] InitialContextFactory weblogic.jndi.WLInitialContextFactory
> [java] Provider Url
t3://myhost.mycompany.com:18003,myhost.mycompany.com:18005
> [java] javax.transaction.TransactionRolledbackException: Exception
while
> commiting Tx : Name=[EJB
Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer
,java.lang.String,boolean,boolean)],Xid=BEA1-000649EC8876A0032A5E(160401684)
,Status=Rolled
> back.
[Reason=javax.transaction.xa.XAException],numRepliesOwedMe=0,numRepliesOwedO
thers=0,seconds
> since begin=3,seconds
left=30,XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEA
N1TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1
TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.
WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@a0181b0),XAServerResourc
eInfo[JMS_MyJMS
> File Store]=(ServerResourceInfo[JMS_MyJMS File
Store]=(state=rolledback,assigned=ManagedServer1),xar=null),XAServerResource
Info[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(ServerResourceIn
fo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(state=rolledback,a
ssigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_ti
bco_tibjms_TibjmsXAResource@98f6821),SCInfo[E4JMSDOMAIN+ManagedServer1]=(sta
te=rolledback),SCInfo[E4JMSDOMAIN+ManagedServer2]=(state=rolledback),propert
ies=({weblogic.transaction.name=[EJB
>
Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer
,java.lang.String,boolean,boolean)]}),OwnerTransactionManager=ServerTM[Serve
rCoordinatorDescriptor=(CoordinatorURL=ManagedServer2+myhost.mycompany.com:1
8005+E4JMSDOMAIN+t3+,
>
XAResources={},NonXAResources={})],CoordinatorURL=ManagedServer2+myhost.myco
mpany.com:18005+E4JMSDOMAIN+t3+):
> javax.transaction.xa.XAException
> [java] at
com.tibco.tibjms.TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(TibjmsXA
Resource.java:157)
> [java] at
weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.
end(Ljavax.transaction.xa.Xid;I)V(Unknown
> Source)
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.end(Lweblogic.transaction
.internal.ServerTransactionImpl;Ljavax.transaction.xa.Xid;I)V(XAServerResour
ceInfo.java:1124)
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.internalDelist(Lweblogic.
transaction.internal.ServerTransactionImpl;I)V(XAServerResourceInfo.java:325
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.delist(Lweblogic.transact
ion.internal.ServerTransactionImpl;IZ)V(XAServerResourceInfo.java:255)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.delistAll(IZ)V(ServerTra
nsactionImpl.java:1408)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.delistAll(I)V(ServerTran
sactionImpl.java:1396)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare()V(ServerT
ransactionImpl.java:1932)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit()V(Server
TransactionImpl.java:252)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.commit()V(ServerTransact
ionImpl.java:221)
> [java] at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic.ejb20.interfaces.
InvocationWrapper;Ljava.lang.Throwable;)V(BaseEJBObject.java:289)
> [java] at
weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic.ejb20.interf
aces.InvocationWrapper;Ljava.lang.Throwable;)V(StatelessEJBObject.java:141)
> [java] at
Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Ljava.lang.Integer;Ljava.
lang.Integer;Ljava.lang.String;ZZ)V(Stateless_soycq8_EOImpl.java:112)
> [java] at
Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(ILweblogic.rmi.spi.InboundR
equest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Object;)Lweblogic.rmi.s
pi.OutboundResponse;(Unknown
> Source)
> [java] at
weblogic.rmi.internal.BasicServerRef.invoke(Lweblogic.rmi.extensions.server.
RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.O
utboundResponse;)V(BasicServerRef.java:477)
> [java] at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(Lweblogic.rmi.extensions.s
erver.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi
.spi.OutboundResponse;)V(ReplicaAwareServerRef.java:108)
> [java] at
weblogic.rmi.internal.BasicServerRef$1.run()Ljava.lang.Object;(BasicServerRe
f.java:420)
> [java] at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.
subject.AbstractSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang
.Object;(AuthenticatedSubject.java:353)
> [java] at
weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.inter
nal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubjec
t;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(SecurityManag
er.java:144)
> [java] at
weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.Inbound
Request;)V(BasicServerRef.java:415)
> [java] at
weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteTh
read;)V(BasicExecuteRequest.java:30)
> [java] at
weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Exe
cuteThread.java:197)
> [java] at
weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
> [java] at
java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown
> Source)
> [java] ; nested exception is:
> [java] javax.transaction.xa.XAException
> [java] at
weblogic.rjvm.BasicOutboundRequest.sendReceive()Lweblogic.rmi.spi.InboundRes
ponse;(BasicOutboundRequest.java:108)
> [java] at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Lweblogic.rmi.extensions.s
erver.RemoteReference;Lweblogic.rmi.extensions.server.RuntimeMethodDescripto
r;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAw
areRemoteRef.java:284)
> [java] at
weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Ljava.rmi.Remote;Lweblogic
.rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang
.reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:244)
> [java] at
Case463495.Stateless_soycq8_EOImpl_812_WLStub.sendMessageWrap(Ljava.lang.Int
eger;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Unknown
> Source)
> [java] at Case463495.Client.run()V(Client.java:103)
> [java] at Case463495.Client.sendMessage()V(Client.java:132)
> [java] at
Case463495.Client.main([Ljava.lang.String;)V(Client.java:195)
> [java] Caused by: javax.transaction.xa.XAException
> [java] at
com.tibco.tibjms.TibjmsXAResource.end(TibjmsXAResource.java:157)
> [java] at
weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.
end(Unknown
> Source)
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.end(XAServerResourceInfo.
java:1124)
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.internalDelist(XAServerRe
sourceInfo.java:325)
> [java] at
weblogic.transaction.internal.XAServerResourceInfo.delist(XAServerResourceIn
fo.java:255)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransact
ionImpl.java:1408)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransact
ionImpl.java:1396)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1932)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:252)
> [java] at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:221)
> [java] at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:289)
> [java] at
weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.jav
a:141)
> [java] at
Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Stateless_soycq8_EOImpl.j
ava:112)
> [java] at
Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(Unknown Source)
> [java] at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> [java] at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:108)
> [java] at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> [java] at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:353)
> [java] at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
> [java] at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
> [java] at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
0)
> [java] at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
> [java] at
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
> [java] at java.lang.Thread.startThreadFromVM(Unknown Source)
>
>
> Apologies in advance if this need to be posted in the JTA news group..
>
> Any ideas?
>
> Murali
>
-
hi weblogic users,
i have a problem in sending jms messages
across two different weblogic host/domain.
the configuration is:
jms client:
-JAX-WS webservice web app
-deployed in WebLogic Server Version: 10.3.1.0
-host: 192.168.30.133:7011
-domain: ChSoaAdminServer1
-can access server's console: http://192.168.1.22:6001/console
server:
-jms server, jms module, cf, queue configured
with subdeployment targeted to the jmsserver
-deployed in WebLogic Server Version: 10.3.2.0
-host: 192.168.1.22:6001
-domain: soa_domain
-cannot access client's console: http://192.168.30.133:7011/console
i use standard lookup method in my java client code:
String settingJmsServer="t3://192.168.1.22:6001";
String settingCF="jms/adminduk/cf";
String settingQueue="jms/adminduk/queue/central";
env=new Hashtable();
env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
env.put(Context.PROVIDER_URL, settingJmsServer);
ctx = new InitialContext( env );
System.out.println("-- Destination");
ds = (Destination) ctx.lookup(settingQueue);
System.out.println("-- ConnectionFactory");
cf = (ConnectionFactory) ctx.lookup(settingCF);
but it's getting exception
when looking up the connection factory (look at the bottom of my post):
ok now, how to solve this problem?
-i tried to change the server to another host with WL 10.3.1.0 installed (so
it's the same version with the client) and its ok (receiving messages)
-i tried to deploy the WS client to the same host as the jms (WL 10.3.2.0), so no
remote lookup needed (java lookup code adjusted), it's ok
-based on the stack trace:
"Could not find dynamically generated class:
'weblogic.jms.frontend.FEConnectionFactoryImpl_1032_WLStub
(class not found) ..."
-does it mean do i've to use the same version of WL installed in the client side ??
-is WL 10.3.2.0 compatible with WL 10.3.1.0 ?
-is it possible to use a different version of weblogic (in the client/server)
in using the jms feature ?
-do the jms server must have access to client's port (7011) for it to work ?
thanks,
any info/hints/helps will be appreciated :)
---------- start error ---------
####<Mar 23, 2010 4:24:51 PM ICT> <Error> <com.sun.xml.ws.server.sei.EndpointMethodHandler>
<coolpie> <ChSoaAdminServer1> <[ACTIVE] ExecuteThread: '1' for queue:
'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1269336291921> <BEA-000000>
<***** ASSERTION FAILED *****[ Could not find dynamically generated class:
'weblogic.jms.frontend.FEConnectionFactoryImpl_1032_WLStub' ]
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Could not find dynamically
generated class: 'weblogic.jms.frontend.FEConnectionFactoryImpl_1032_WLStub' ]
at weblogic.utils.classfile.utils.CodeGenerator.generateClass(CodeGenerator.java:78)
at weblogic.rmi.internal.StubGenerator.hotCodeGenClass(StubGenerator.java:775)
at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerator.java:759)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:786)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:779)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:74)
at weblogic.rmi.internal.StubInfo.resolveObject(StubInfo.java:213)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:207)
at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
weblogic.jms.client.JMSConnectionFactory.readExternal(JMSConnectionFactory.java:382)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:564)
at
weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at weblogic.jndi.internal.ServerNamingNode_1031_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:400)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:388)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:194)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:96)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:377)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:388)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at siak.model.MessageManager.init(MessageManager.java:101)
at siak.ws.SiakWS.sendEvent(SiakWS.java:37)
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.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:101)
at
weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:83)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:152)
at
com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:264)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:249)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:453)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:250)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
at
weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:298)
at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:211)
at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:297)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:87)
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:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletConte
xt.java:3588)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
java.lang.ClassNotFoundException: weblogic.jms.frontend.FEConnectionFactoryImpl_1032_WLStub
at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:296)
at
weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
at
weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:55)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
at
weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:36)
at
weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:100)
at
weblogic.wsee.util.JAXWSClassLoaderFactory$1.findClass(JAXWSClassLoaderFactory.java:45)
at
weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:85)
at
weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:80)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
weblogic.utils.classloaders.GenericClassLoader.defineCodeGenClass(GenericClassLoader.java:516
at weblogic.utils.classfile.utils.CodeGenerator.generateClass(CodeGenerator.java:73)
at weblogic.rmi.internal.StubGenerator.hotCodeGenClass(StubGenerator.java:775)
at weblogic.rmi.internal.StubGenerator.getStubClass(StubGenerator.java:759)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:786)
at weblogic.rmi.internal.StubGenerator.generateStub(StubGenerator.java:779)
at weblogic.rmi.extensions.StubFactory.getStub(StubFactory.java:74)
at weblogic.rmi.internal.StubInfo.resolveObject(StubInfo.java:213)
at weblogic.rmi.internal.StubInfo.readResolve(StubInfo.java:207)
at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
weblogic.jms.client.JMSConnectionFactory.readExternal(JMSConnectionFactory.java:382)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:564)
at
weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at weblogic.jndi.internal.ServerNamingNode_1031_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:400)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:388)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
weblogic.deployment.jms.ForeignOpaqueReference.getReferent(ForeignOpaqueReference.java:194)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:96)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:377)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:388)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at siak.model.MessageManager.init(MessageManager.java:101)
at siak.ws.SiakWS.sendEvent(SiakWS.java:37)
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.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:101)
at
weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:83)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:152)
at
com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:264)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:249)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:453)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:250)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
at
weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:298)
at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:211)
at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:297)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:87)
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:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletConte
xt.java:3588)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
---------- end error ---------1 - A class-not-found is an odd exception to get on a server. Did you perhaps try to add client-only jars to the server classpath? The server classpath is already setup properly to act as a client.
2 - Its usually not a good practice to create contexts in client code (instead of simply using the Servlet context in your case), or to hard code URLs, dests, and CF references into the code. It works, but can be hard to maintain and inefficient.
3 - See:
[ Enhanced Support for Using WebLogic JMS with EJBs and Servlets | http://download.oracle.com/docs/cd/E15523_01/web.1111/e13727/j2ee.htm#g1329180 ]
and
[ Integrating Remote JMS Providers | http://download.oracle.com/docs/cd/E15523_01/web.1111/e13727/interop.htm#JMSPG553 ]
and the cross-domain advice in
[ Integration and Multi-Domain Best Practices |
http://download.oracle.com/docs/cd/E15523_01/web.1111/e13738/best_practice.htm#CACFBCHB ]
Hope this helps,
Tom -
JMS cluster and happen JMS Queue Exception javax.naming.NameAlreadyBoundExc
Hi,
Sorry I not sure how to setup JMS cluster in WLS 10.3.2. We have two manager server in two machine. And will join into one cluster. After configure the JMS module & JMS server. We found it only can work in one server. And will faill in another server. And reply the error message as below :
Any one can help to tell me why one server success. And other is fail !
javax.naming.NameAlreadyBoundException: JMS_Queue_misdel_a is already bound; rem
aining name ''
at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:357)
at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:140)
at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:317)
at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.jav
==> config for JMS
<jms-server>
<name>JMS_Server_cim_a</name>
<target>ebowls05</target>
<persistent-store xsi:nil="true"></persistent-store>
<hosting-temporary-destinations>true</hosting-temporary-destinations>
<temporary-template-resource xsi:nil="true"></temporary-template-resource>
<temporary-template-name xsi:nil="true"></temporary-template-name>
<message-buffer-size>-1</message-buffer-size>
<expiration-scan-interval>30</expiration-scan-interval>
</jms-server>
<jms-server>
<name>JMS_Server_cim_b</name>
<target>ebowls06</target>
<persistent-store xsi:nil="true"></persistent-store>
<hosting-temporary-destinations>true</hosting-temporary-destinations>
<temporary-template-resource xsi:nil="true"></temporary-template-resource>
<temporary-template-name xsi:nil="true"></temporary-template-name>
<message-buffer-size>-1</message-buffer-size>
<expiration-scan-interval>30</expiration-scan-interval>
</jms-server>
<migratable-target>
<name>ebowls06 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do
not delete manually.</notes>
<user-preferred-server>ebowls06</user-preferred-server>
<cluster>ebouatCluster</cluster>
</migratable-target>
<migratable-target>
<name>ebowls05 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do
not delete manually.</notes>
<user-preferred-server>ebowls05</user-preferred-server>
<cluster>ebouatCluster</cluster>
</migratable-target>
<jms-system-resource>
<name>JMS_ConnFactory_cim</name>
<target>ebouatCluster</target>
<descriptor-file-name>jms/JMS_ConnFactory_cim/JMS_ConnFactory_cim-jms.xml</d
escriptor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_promis</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_promis@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_promis@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_promis/JMS_Queue_promis-jms.xml</descrip
tor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Template_cim</name>
<target>ebouatCluster</target>
<descriptor-file-name>jms/JMS_Template_cim/JMS_Template_cim-jms.xml</descrip
tor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_misdel_a</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_misdel_a@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_misdel_a@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_misdel_a/JMS_Queue_misdel_a-jms.xml</des
criptor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_misdel_b</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_misdel_b@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_misdel_b@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_misdel_b/JMS_Queue_misdel_b-jms.xml</des
criptor-file-name>
</jms-system-resource>1 - JMS clustering is an advanced concept, and, in most cases, uses "distributed queues". In case you haven't already, I highly recommend reading the JMS chapter of the new book "Professional Oracle WebLogic" as well as the related chapters in the JMS Programmer's Guide in the edocs.
2 - The basic problem below is that you have two different queues that have matching JNDI names, but are in the same cluster.
3 - The config snippet supplied below does not include the queue configuration. Queue configuration is embedded within the referenced module files.
4 - Please ensure that you follow configuration best practices, as per: http://download.oracle.com/docs/cd/E15523_01/web.1111/e13738/best_practice.htm#CACJCGHG -
Connect from Weblogic JMS queue to SAP WAS JMS queue
Hi,
I am trying to setup a WLS 8.1 messaging bridge between a weblogic JMS queue and a SAP WAS JMS queue. I have configured a queue on both Weblogic and SAP WAS and I have set up the messaging bridge and bridge destintations in weblogic. However when weblogic tries to get the SAP initial context factory it fails with the error below.
I have added the SAP Client jars to the weblogic system classpath, and in the weblogic startup script but it still fails. Has anyone connected from an external JMS queue to a SAP WAS JMS queue that could provide me with some guidence?
<10/08/2006 08:23:45 AM WST> <Warning> <Connector> <BEA-190032> << Weblogic Mess
aging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocatio
nException of javax.resource.ResourceException: ConnectionFactory: failed to get
initial context (InitialContextFactory =com.sap.engine.services.jndi.InitialCon
textFactoryImpl, url = ux0800:55304, user name = username) on createManagedConnectio
n.>
Thanks
WarrenStoyan,
Thanks for that.
My problem ended up being a classpath problem. I referenced the directory of the SAP jars in the weblogic start up script. When I changed this to reference each jar individually it worked.
I have a new issue now which may have something to do with security. The trace suggests it is logging on as the guest user, even though I entered my username and password in the Messaging bridge.
#1.5#000E7FED310600A30000008A0000302D00041AA399E338B4#1155189870559#com.sap.jms##com.sap.jms.server.sessioncontainer.InboundBus instance=BWIP#J2EE_GUEST#0####165536f0283611db8903000e7fed3106#SAPEngine_Application_Thread[impl:3]_126##0#0#Error##Plain###com.sap.jms.server.exception.JMSServerInvalidDestinationException: No destination with ID=0 found.
at com.sap.jms.server.service.impl.RegistryServiceImpl.getDestinationContext(RegistryServiceImpl.java:404)
at com.sap.jms.server.sessioncontainer.InboundBus.getDestinationContext(InboundBus.java:98)
at com.sap.jms.server.sessioncontainer.InboundBus.process(InboundBus.java:153)
at com.sap.jms.server.sessioncontainer.InboundBus.enqueue(InboundBus.java:116)
at com.sap.jms.server.sessioncontainer.SessionContainer.receiveFromDispatcher(SessionContainer.java:63)
at com.sap.jms.server.routingcontainer.RoutingContainer.receiveFromDispatcher(RoutingContainer.java:447)
at com.sap.jms.server.JMSServerContainer.dispatchRequest(JMSServerContainer.java:635)
at com.sap.jms.server.JMSServerFrame.request(JMSServerFrame.java:536)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Warren -
Hi,
Weblogic throws the following exception when the JMS Server do not return messages.
Any idea,the Weblogic server do not shutdown, but it increases the Queue Length
Thanks in avance
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
marshalling on server-side ]
Start server side stack trace:
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
marshalling on server-side ]
at weblogic.rmi.internal.OutboundServerResponse.sendThrowable(OutboundServerResponse.java:64)
at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java(Compiled
Code))
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java(Compiled
Code))
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled
Code))
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled
Code))
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java(Compiled Code))
at $Proxy168.sendMessage(Unknown Source)
at com.cajarural.transactionmanager.XMLJMS.process(XMLJMS.java(Compiled Code))
at multicanal.negocio.ruralvia.pasivo.PasivoEJB.pasConMovs(PasivoEJB.java(Compiled
Code))
at multicanal.negocio.ruralvia.pasivo.PasivoEJB_d9s8ki_EOImpl.pasConMovs(PasivoEJB_d9s8ki_EOImpl.java(Compiled
Code))
at java.lang.reflect.Method.invoke(Native Method)
at multicanal.servlet.ServletDirector.performTask(ServletDirector.java(Compiled
Code))
at multicanal.servlet.ServletDirector.doPost(ServletDirector.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java(Compiled
Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled
Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled
Code))
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java(Compiled
Code))
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
[weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
marshalling on server-side ]
There is no JMS in the stack trace. Perhaps this is an RMI or EJB
invoke? Try the weblogic.developer.interest.rmi newsgroup. Try putting
trace code in your "sendMessage(" method to see if it is getting called
on the server, and see what it is attempting to return.
Tom
barbyware wrote:
> Hi,
>
> Weblogic throws the following exception when the JMS Server do not return messages.
>
> Any idea,the Weblogic server do not shutdown, but it increases the Queue Length
>
> Thanks in avance
>
>
>
> weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
> marshalling on server-side ]
>
> Start server side stack trace:
> weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
> marshalling on server-side ]
> at weblogic.rmi.internal.OutboundServerResponse.sendThrowable(OutboundServerResponse.java:64)
> at weblogic.rmi.internal.BasicServerRef.handleThrowable(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java(Compiled
> Code))
> at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java(Compiled
> Code))
> at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java(Compiled
> Code))
> at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled
> Code))
> at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java(Compiled
> Code))
> at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java(Compiled Code))
> at $Proxy168.sendMessage(Unknown Source)
> at com.cajarural.transactionmanager.XMLJMS.process(XMLJMS.java(Compiled Code))
> at multicanal.negocio.ruralvia.pasivo.PasivoEJB.pasConMovs(PasivoEJB.java(Compiled
> Code))
> at multicanal.negocio.ruralvia.pasivo.PasivoEJB_d9s8ki_EOImpl.pasConMovs(PasivoEJB_d9s8ki_EOImpl.java(Compiled
> Code))
> at java.lang.reflect.Method.invoke(Native Method)
> at multicanal.servlet.ServletDirector.performTask(ServletDirector.java(Compiled
> Code))
> at multicanal.servlet.ServletDirector.doPost(ServletDirector.java(Compiled Code))
> at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
> at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java(Compiled
> Code))
> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled
> Code))
> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java(Compiled
> Code))
> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java(Compiled
> Code))
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> End server side stack trace
>
> --------------- nested within: ------------------
> weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
> [weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unexpected IOException
> marshalling on server-side ]
>
-
my configuration for JMS in Cluster is as follows,
1.i have 3 WL instances running in a cluster,
2.have 2 JMSconn factories with clientid(unique for each).for durable
subscription deployed on all the servers and also cluster.
3. a JMSServer with a topic deployed on one server(since this is not
clusterable).
with this confuration i was able to publish messages and also receive
messages.
the problems iam facing are
1. when i kill the subscriber and restarts,it is giving
"weblogic.jms.common.InvalidClientIDException: clientID is used"
exception, when i try to create the Topicconnection.iam resatarting Wl
Server everytime i kill the subscriber.
2. durable subscription is not working in this confuration, i mean
subscriber is not getting messages(after it is backup) sent by the
publisher when subscriber was inactive.
any kind of help will be highly appreciated.
srini
See response to your other post.
Ravi Krishnamurthy wrote:
> Hello :
> I have some more questions:
>
> 1. I have application ( that contains ejb's and mdb's) and jms clustered
> in a cluster called cls with 2 nodes.
> I use distributed destinations ( both topics and queues and I dont have
> any durable topics)
>
> When I target the individual jms server to the individual servers then
> the destinations are not bound.
>
> But if change it to the migratable targets then the destinations are
> bound.
>
> Could someone tell me what I might be doing wrong?
>
> Thanks,
> Ravi
>
-
Failed to unmarshal class weblogic.jms.dispatcher.Response
Hi,
we are using WL6.1 SP2 on solaris as a standalone JMS server and we another WL61
SP2 on solaris as application server. Our Application server connects to JMS server
and does a Qbrowse to select some info from the Queue. We had a problem once in
using the Qbrowser and below is the stacktrace. If anyone has any idea of this,please
shed some light.
Thanks
Krish.
weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
[java.rmi.UnmarshalException: failed to unmarshal class weblogic.jms.dispatcher.Response;
nested exception is:
java.io.StreamCorruptedException: Type code out of range, is -2]
java.lang.ClassCastException: weblogic.rmi.internal.MethodDescriptor
Start server side stack trace:
java.lang.ClassCastException: weblogic.rmi.internal.MethodDescriptor
at weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:186)
at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.ja
va:300)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:940)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:110)
at weblogic.jms.dispatcher.DispatcherWrapper.readExternal(DispatcherWrapper.java:126)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:99)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jms.frontend.FEConnectionFactory_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
complete printstack trace
Assembler 7 unreachable -- failed to unmarshal class com.adobe.idp.Context; nested exception is:
java.io.InvalidObjectException: inauthentic principal assertion
java.rmi.UnmarshalException: failed to unmarshal class com.adobe.idp.Context; nested exception is:
java.io.InvalidObjectException: inauthentic principal assertion
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:166)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:293)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:247)
at com.adobe.service.pdfm.Assembler7_2a0g3c_EOImpl_814_WLStub.login(Unknown Source)
at adobepdfassemblertest.AdobePDFAssembler.main(AdobePDFAssembler.java:102)
Caused by: java.io.InvalidObjectException: inauthentic principal assertion
at com.adobe.idp.Context.getValidatedAuthResultFromAssertion(Context.java:297)
at com.adobe.idp.Context.readResolve(Context.java:252)
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:324)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:925)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.jav a:120)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:120)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:164)
... 4 more -
Weblogic JMS Client App fails creating queue connection
Using the example provided from installation: ...\bea\wlserver_10.0\samples\server\examples\src\examples\jms\queue\QueueBrowse.java
I can successfully connect and display the queue when this test app runs on the local Weblogic Server. When I run the test app on a remote server (not the Weblogic server), I get the following error:
Exception in thread "main" weblogic.jms.common.JMSException: [JMSClientExceptions:055053]Error creating connection to the server: java.rmi.MarshalException: failed to marshal connectionCreateRequest(Lweblogic.jms.frontend.FEConnectionCreateRequest;); nested exception is:
java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
java.lang.NullPointerException
at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:258)
at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:285)
at weblogic.jms.client.JMSConnectionFactory.createQueueConnection(JMSConnectionFactory.java:165)
at com.lodestarcorp.custom.QueueBrowse.init(QueueBrowse.java:53)
at com.lodestarcorp.custom.QueueBrowse.main(QueueBrowse.java:129)
Caused by: java.rmi.MarshalException: failed to marshal connectionCreateRequest(Lweblogic.jms.frontend.FEConnectionCreateRequest;); nested exception is:
java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
java.lang.NullPointerException
at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:91)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:332)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jms.frontend.FEConnectionFactoryImpl_1001_WLStub.connectionCreateRequest(Unknown Source)
at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:224)
... 4 more
Caused by: java.rmi.UnexpectedException: Failed to parse descriptor file; nested exception is:
java.lang.NullPointerException
at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:118)
at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:89)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:55)
at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:41)
at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:194)
at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:175)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceSmartStubInfo(RemoteObjectReplacer.java:116)
at weblogic.rmi.utils.io.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:102)
at weblogic.rmi.utils.io.InteropObjectReplacer.replaceObject(InteropObjectReplacer.java:62)
at weblogic.utils.io.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:40)
at weblogic.utils.io.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:141)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at weblogic.messaging.dispatcher.DispatcherWrapper.writeExternal(DispatcherWrapper.java:152)
at weblogic.jms.frontend.FEConnectionCreateRequest.writeExternal(FEConnectionCreateRequest.java:98)
at java.io.ObjectOutputStream.writeExternalData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:614)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:605)
at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38)
at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:87)
... 8 more
Caused by: java.lang.NullPointerException
at weblogic.rmi.internal.BasicRuntimeDescriptor.createSkeletonClass(BasicRuntimeDescriptor.java:272)
at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:158)
at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:140)
at weblogic.rmi.internal.DescriptorManager.createRuntimeDescriptor(DescriptorManager.java:110)
... 30 more
FYI: I did create the wlfullclient.jar from the installation.
Could the problem be related to a proxy issue? It's not a DNS problem (I've tested with the IP address).
Thanks,
BrianI had this very same issue, in a project I was importing directly individual jars:
<classpathentry kind="lib" path="lib/javax.jms_1.1.1.jar"/>
<classpathentry kind="lib" path="lib/weblogic.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.identity_1.1.2.1.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.workmanager_1.9.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.workmanager.ja_1.9.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.transaction_2.7.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.rmi.client.ja_1.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.rmi.client_1.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.wls_1.0.0.0_6-1-0-0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.utils.full_1.9.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.security_1.0.0.0_6-1-0-0.jar"/>
<classpathentry kind="lib" path="lib/wlclient.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.utils.classloaders_1.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.management.core_2.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.descriptor_1.9.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.logging_1.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.timers_1.7.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.socket.api_1.2.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.security.digest_1.0.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.weblogic.lifecycle_1.4.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.store_1.7.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.common.security.api_1.0.0.0_6-1-0-0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.utils.wrapper_1.4.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.messaging.kernel_1.8.0.0.jar"/>
<classpathentry kind="lib" path="lib/com.bea.core.utils.expressions_1.4.0.0.jar"/>
and everything was working;
in another project I was importing the "Weblogic System Libraries" libraries, and I was getting the NullPointerException...
I have the sensation that there is room for improvement in the way libraries are managed. -
Weblogic JMS Automigration issue
Hi,
Let me first tell you about my server details. Currently we are using weblogic 10.3.3.0. We have 1 admin server and 2 manage server(MS_1 and MS_2).
Currently we are implementing the JMS auto migration in our server. For that we follow the below steps:
1. First cluster needs to be configured for automatic server migration:
Home->Cluster->configuration ->Migration -> Lock and Edit ->Choose Migratable machine for automatic server migration ->Data Source For Automatic Migration(Choose Datastore for automatic server migration) -> Click on Save
2. Environment -> Migratable target -> click on the migratable target -> Click on Migration -> select the Constrained Candidate Servers -> select service migration policy as "Automatic Migrate Failure Recovery services" -> Save and activate changes
3. Need to create a table called ACTIVE in the DB and the ddl script is located under($WL_SERVER/wl_server_10.3/server/db/oracle/920) query name:leasing.ddl
4. Create a Non XA data source(While selecting the driver you should select the Non XA driver) and in the transaction tab of the data source uncheck the global transaction option. Also the data source should point to cluster.
5. The data source created in the step 4 should be used in the JDBC Persistence store and also can be used in Cluster data source. The JDBC persistence store should be used in the JMS server and the JMS Server should be used in the JMS Queue.
After that I deploy my Java application to read from the JMS distributed queue. and the Java service is reading from the JMS queue.
But when I am restarting the manage server the below error is thrown and the deployed java application status is getting failed:
========================
<Apr 29, 2015 2:42:15 AM IST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsResQueueUG' defined in ServletContext resource [/WEB-INF/spring-jms-config.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Unable to resolve 'MTNNDQ'. Resolved ''; remaining name 'MTNNDQ'.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsResQueueUG' defined in ServletContext resource [/WEB-INF/spring-jms-config.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Unable to resolve 'MTNNDQ'. Resolved ''; remaining name 'MTNNDQ'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:431)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251)
Truncated. see log file for complete stacktrace
Caused By: javax.naming.NameNotFoundException: Unable to resolve 'MTNNDQ'. Resolved ''; remaining name 'MTNNDQ'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
Truncated. see log file for complete stacktrace
>
<Apr 29, 2015 2:42:16 AM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1430255500850' for task '27'. Error is: 'weblogic.application.ModuleException: '
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1514)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:486)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
Truncated. see log file for complete stacktrace
Caused By: javax.naming.NameNotFoundException: Unable to resolve 'MTNNDQ'. Resolved ''; remaining name 'MTNNDQ'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
Truncated. see log file for complete stacktrace
>
====================================================
"MTNNDQ" Is the queue name which is configured in the property file. From which the spring-jms-config.xml is reading.
"jmsResQueueUG" is the Spring bean name.
Please note that during server start up deployment the above issue is coming but after the successful restart when I do the deployment the above issue is not coming.
Please suggest.
Thanks in advance.
Regards
Asutosh KarYour use case seems like an extremely good fit for the WebLogic "Unit-of-Order" (UOO) feature, which ensures strictly ordered message processing for all messages that are in the same UOO, and is almost trivial to enable. As a bonus, UOO won't have the perf drawbacks that are related to selector filtering. I have a feeling it would greatly simplify your setup and would at least reduce the number of performance related variables that've been introduced due to the relatively complex current setup. If this fits your use case, I recommend:
1 - set up a single MDB with a single Q
2 - configure a custom work manager and assign the MDB to this work manager instead of the default work manager, tune a max-threads-contraint on the WM and set max-beans-in-free-pool to the same value (see the MDB chapter of the Performance and Tuning guide for the exact tunables)
3 - senders sets a UOO on each message that matches the conversation index. There are two ways to do this: (1) configure 32 connection factories, each with different default UOO (one for each sub-ordering) and cache 32 senders or (2) have any sender call "(weblogic.jms.extensions.WLProducer)setUnitOfOrder() before sending each message.
Another approach would be to use topics and a durable subscription per index, plus an MDB per subscriber. This avoids queue scan selector overhead and opens up the opportunity to enable "subscriber indexing" (to familiarize yourself with selectors, I highly recommend reading the JMS chapter of the new book Professional WebLogic.) On the other hand, this approach doesn't release the use case from needing 32 different MDBs...
Tom
PS. Also ensure that senders are cached and re-used (instead of closed and re-opened for each sent message).
Edited by: TomB on Jan 28, 2010 4:19 PM
Edited by: TomB on Jan 28, 2010 4:20 PM
Maybe you are looking for
-
Document viewer in interactive PDF?
I am making an interactive PDF portfolio in Indesign CS6, and I want to provide writing samples. I wanted to know if there is a pdf viewer that I could place in my PDF portfolio and have it appear when I press a button. Any help?
-
Basic Help needed with Hyperion 9.3 Scheduling jobs
Hi! Is there anyone who would be willing to help a novice understand the Scheduling features in Hyperion 9.3? We are converting from Brio 6.6 where we used the "Broadcast Server". We don't yet have many jobs - so I'm not migrating them. But, the docu
-
Business connector documentation
Hey Guys, Where can I get documentation on Business Connector related development. Especially the architecture and development of the same. I am well versed with XI development. However, I have not found the same level of documentation for Business C
-
HELP! my gmail account vanished after downloadingccleaner and chrome
HELP! my gmail account vanished after downloading ccleaner and chrome.
-
Alright so, I'm not sure when this started happening, but my Java seems to be really broken, I can't get it to work properly, even just by launching a java command it crashes. I've tried everything, I've also used JavaRa to cleanup all the Java files