Can't deploy a jms connection factory
I am getting errors when trying to deploy a jms connection factory. Here is the xml file jms-factories.xml:
<?xml version="1.0" encoding="utf-8"?>
<jms-factories>
<application-name>MyApplicationName</application-name>
<connection-factory>
<connection-factory-type>QueueConnectionFactory</connection-factory-type >
<factory-name>MyQueueConnectionFactory</factory-name>
<context-factory-type>
<link-factory-name>jmsfactory/default/MyConnectionFactory</link-factory-name>
<initial-context-factory>
com.sap.engine.services.jndi.InitialContextFactoryImpl
</initial-context-factory>
<provider-url>localhost</provider-url>
<security-principal>Administrator</security-principal>
</context-factory-type>
</connection-factory>
</jms-factories>
Below is the error:
java.rmi.RemoteException: Error occurred while starting application in whole cluster and wait.; nested exception is:
com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Clusterwide exception: server ID 5215450:com.sap.engine.services.jmsconnector.exceptions.BaseDeploymentException: Class loading error: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of MyConnectionFactory.
at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:650)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:344)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:638)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.sap.engine.services.jmsconnector.container.JmsContainerImpl.loadFactory(JmsContainerImpl.java:1306)
at com.sap.engine.services.jmsconnector.container.JmsContainerImpl.prepareStart(JmsContainerImpl.java:577)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:233)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:193)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:421)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:539)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:674)
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:658)
at com.sap.engine.services.jmsconnector.container.JmsManagerImpl.deployJmsResource(JmsManagerImpl.java:281)
at com.sap.engine.services.jmsconnector.command.DeployJmsResource.exec(DeployJmsResource.java:81)
at com.sap.engine.services.shell.processor.environment.CommandBase.exec(CommandBase.java:132)
at com.sap.engine.services.shell.processor.Interpreter.applyLineCommand(Interpreter.java:391)
at com.sap.engine.services.shell.processor.Interpreter.apply(Interpreter.java:150)
at com.sap.engine.services.shell.processor.Shell.work(Shell.java:148)
I am actually trying to do an automated deploy but I kept getting this error so I am trying to manually deploy it with the J2EE Engine Console tool. The command is:
deploy_jms_resource d:\jay\jms-factories.xml
Anybody have any ideas? At the top of the stack trace it mentions Class loading error but it is not the InitialContextFactoryImpl that is causing the problem because if I enter a totally bogus class name I get a nice ClassNotFound exception.
Hi Jay,
Which Reference guide do you mean? You find the jms-resources.xsd here: <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/55e7d51e-0e01-0010-7b84-a95ee55eadeb">Java Messaging</a>, pages 52-58.
Similar Messages
-
Why can't I access JMS connection factory via JNDI?
I'm going through the JMS tutorial and I'm trying to get the simple point-to-point example (http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/client.html#1056518) to work with the JMS implementation in AS7.
I have read the "Administration of the JMS Service" section of http://docs.sun.com/source/816-7153-10/djjms.html#18990 and I have correctly configured:
- a javax.jms.QueueConnectionFactory under JNDI name "jms/QueueConnectionFactory"
- a physical destination of resource type "queue" with name "Queue1";
- a javax.jms.Queue destination resource under JNDI name "jms/MyQueue", with property "imqDestinationName" set to "Queue1"
When I run SimpleQueueSender my JNDI lookup fails because there are no objects bound to the names I have tried:
java:comp/env/jms/QueueConnectionFactory
java:jms/QueueConnectionFactory
java:QueueConnectionFactory
QueueConnectionFactory
The last line above actually returns a
javax.naming.NameNotFoundException [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]I have done substantial searching for this issue on the Net and here on the forums but have yet to find a solution.
Is it possible to obtain a JMS object through JNDI by invoking an RMI/IIOP-based client without using the ACC??? I am going to next try with the ACC to see if at least that is possible.
Answers much appreciated!
Daniel.May be able to help if you are on win2k or windows. If so, I had to write myself a big note
on this one, because it is very frustrating. anyways here's the note, and to my disbelief,
it worked. I was using an mqseries provider, but the jms context has always worked.
BIGNOTE: when using jmsadmin for mqseries, do not define ctx(jms), then
Chg ctx(jms) to create the JMS administered objects on windoz 2k. It is
Required for Solaris. So on doz, instead of define qcf(boltsQCFnotjta) from
the jms ctx, do define qcf(jms/boltsQCFnojta) from initalctx. MDB won�t find
Q and factory unless you do it this way on doz.
I can't remember if this is mqseries specific, or it also applies to Sun MQ. Kind of sucks
because you have no visibilty of the properties of the queue and factory. -
Error in looking up JMS connection factory in cluster
Hi,
We have setup a JMS connection factory targeted to clustered servers. We currently
have two physical servers defined in the cluster.
When the clustered servers first comes up, we can't see the JMS connection factory
in the JNDI tree of any of the clustered servers. We can see in the server log
that factory is actually being started. Binding to the JNDI tree is not happening.
Through Management console when we move the target of connection factory back
and forth, then the problem is gone.
Any pointers to the problem are welcome.
P.S. We are using WL 7.0.1
Thanks
Nishchit
Hi,
We have setup a JMS connection factory targeted to clustered servers. We currently
have two physical servers defined in the cluster.
When the clustered servers first comes up, we can't see the JMS connection factory
in the JNDI tree of any of the clustered servers. We can see in the server log
that factory is actually being started. Binding to the JNDI tree is not happening.
Through Management console when we move the target of connection factory back
and forth, then the problem is gone.
Any pointers to the problem are welcome.
P.S. We are using WL 7.0.1
Thanks
Nishchit
-
Error when creating a new JMS connection factory in GlassFish V3 b57
When I use the admin console and try to create a new JMS connection factory in GlassFish V3 b57, the operation fails with the error message
An error has occurred: Can't find ConfigModel.Property for attr -connection-validation-required on interface com.sun.enterprise.config.serverbeans.ConnectorConnectionPool
Should I better report this in the GlassFish news forum (http://forums.java.net/jive/forum.jspa?forumID=56&start=0)?
p.s. I launch the admin console from within NetBeans 6.7.1 (the server started before the IDE). WIth version b 56, creating a JMS connection factory worked fine.
Best regards,
Michael JustinThis bug does not apear in the nightly build (b58) now so everything looks fine again.
Greetings,
Michael -
Error in looking up the JMS Connection Factory
Hi,
I am using weblogic6.1. I created a JMS Connection factory from administrator
console with the name QueueConnectionFactory..But when i restart the server and
try to look up that factory its giving an NameNotFoundException...This is the
entry of the factory in config.xml
<JMSConnectionFactory JNDIName="QueueConnectionFactory"
Name="QueueConnectionFactory" Targets="myserver"/>
But if i change reapply the target server to myserver from admin console whenever
restart the server it works fine..
I dont know where is the problem..Can u please update me on the problem if u people
have any idea.
The trace of the exceptions i got is as below:
java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable to
resolve QueueConnectionFactory. Resolved
: '' Unresolved:'QueueConnectionFactory' ; remaining name ''
java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable to resolve
QueueConnectionFactory. Resolved: '' Unr
esolved:'QueueConnectionFactory' ; remaining name ''
Thanx
Regards,
Narayan
Hi Zach,
No, I dont think ur interpretation is right..Once the entry corresponding
to JMS Connection Factory is there in config.xml, the server should automatically
bind it at the time of booting.. right. Why should this administrator server come
into the picture.
Thanx
"Zach" <[email protected]> wrote:
>Don't know. Sounds like the admin server is not notifying JMS of the
>changes under certain situations. You might post in the management.console
>newsgroup.
>
>_sjz.
>
>"Narayan" <[email protected]> wrote in message
>news:[email protected]...
>>
>> Hi,
>> I am using weblogic6.1. I created a JMS Connection factory from
>administrator
>> console with the name QueueConnectionFactory..But when i restart the
>server and
>> try to look up that factory its giving an NameNotFoundException...This
>is
>the
>> entry of the factory in config.xml
>>
>> <JMSConnectionFactory JNDIName="QueueConnectionFactory"
>> Name="QueueConnectionFactory" Targets="myserver"/>
>> But if i change reapply the target server to myserver from admin console
>whenever
>> restart the server it works fine..
>> I dont know where is the problem..Can u please update me on the problem
>if
>u people
>> have any idea.
>> The trace of the exceptions i got is as below:
>> ****************
>> java.rmi.RemoteException: javax.naming.NameNotFoundException:
>Unable to
>> resolve QueueConnectionFactory. Resolved
>> : '' Unresolved:'QueueConnectionFactory' ; remaining name ''
>> java.rmi.RemoteException: javax.naming.NameNotFoundException: Unable
>to
>resolve
>> QueueConnectionFactory. Resolved: '' Unr
>> esolved:'QueueConnectionFactory' ; remaining name ''
>>
>> **********************
>>
>> Thanx
>> Regards,
>> Narayan
>>
>>
>
>
-
Cannot bind tibco's jms connection factory to wls jndi
we are using wls 6.1 sp2. I am trying to bind tibco's jms connection factory
and queue from a standalone client to weblogic's jndi tree so that apps on wls
can lookup these object in wls jndi locally. I have included the required classes
in the classpath for both the client and wls. I am able to bind the queue successfully
and am able to use it successfully too, but I am not able to bind the tib's queue
or topic connection factory. I am getting the following errors. I checked and
double checked the classpath and
Start server side stack trace:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationExcep
tion
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.n
aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.naming.Ti
bjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
<<no stack trace available>>
anybody any ideas.
I am also trying to bind the tib's jndi tree in wls jndi tree through a reference
object and am passing a composite name for lookup. I am getting a cannotproceedexception.
I wonder if the weblogic jndi can be federated.
anybody any ideas or pointers
thanks
Devaraju, SushantSeems there is a bug in the tibco jms software.
thanks
Devaraju, Sushant
"sushant" <[email protected]> wrote:
>
we are using wls 6.1 sp2. I am trying to bind tibco's jms connection
factory
and queue from a standalone client to weblogic's jndi tree so that apps
on wls
can lookup these object in wls jndi locally. I have included the required
classes
in the classpath for both the client and wls. I am able to bind the queue
successfully
and am able to use it successfully too, but I am not able to bind the
tib's queue
or topic connection factory. I am getting the following errors. I checked
and
double checked the classpath and
Start server side stack trace:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception
is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationExcep
tion
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
; nested exception is:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.n
aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
com.tibco.tibjms.naming.Ti
bjmsFederatedTopicConnectionFactory; InstantiationException
Start server side stack trace:
java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
InstantiationException
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
at weblogic.jndi.internal.RootNamingNode_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
<<no stack trace available>>
anybody any ideas.
I am also trying to bind the tib's jndi tree in wls jndi tree through
a reference
object and am passing a composite name for lookup. I am getting a cannotproceedexception.
I wonder if the weblogic jndi can be federated.
anybody any ideas or pointers
thanks
Devaraju, Sushant -
WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log file
<b>WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log file</b>
We are using WLS 7.0.4 - One of JMS connection factory setting in admin console we selected "Server Affinity" options.
We see this messages appear in Weblogic log file,
####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster> <liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <> <000123> <Conflict start: You tried to bi
nd an object under the name sbetrmi2 in the JNDI tree. The object you have bound from liberatenode2.dc2.adelp
hia.com is non clusterable and you have tried to bind more than once from two or more servers. Such objects ca
n only deployed from one server.>
and then,
####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster> <liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <> <000125> <Conflict Resolved: sbetrmi2 for
the object from liberatenode5.dc2.adelphia.com under the bind name sbetrmi2 in the JNDI tree.>
Should we use 'load balancing option' instead of 'server affinity' ?
Any thuoghts?
Thanks in adv.
VijayTest Reply
<Vijay Kumar> wrote in message news:[email protected]..
> <b>WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log
> file</b>
>
> We are using WLS 7.0.4 - One of JMS connection factory setting in admin
> console we selected "Server Affinity" options.
>
> We see this messages appear in Weblogic log file,
> ####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster>
> <liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
> d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000123> <Conflict start: You tried to bi
> nd an object under the name sbetrmi2 in the JNDI tree. The object you have
> bound from liberatenode2.dc2.adelp
> hia.com is non clusterable and you have tried to bind more than once from
> two or more servers. Such objects ca
> n only deployed from one server.>
>
> and then,
> ####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster>
> <liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
> d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000125> <Conflict Resolved: sbetrmi2 for
> the object from liberatenode5.dc2.adelphia.com under the bind name
> sbetrmi2 in the JNDI tree.>
>
>
> Should we use 'load balancing option' instead of 'server affinity' ?
>
> Any thuoghts?
>
> Thanks in adv.
> Vijay -
WLS 7.0.4 - JMS connection Factory for RMI queues - server affinity issues help pls
We are using WLS 7.0.4 - One of JMS connection factory setting in admin
console we selected "Server Affinity" options.
We see this messages appear in Weblogic log file,
####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster>
<liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
<000123> <Conflict start: You tried to bi
nd an object under the name sbetrmi2 in the JNDI tree. The object you have
bound from liberatenode2.dc2.adelp
hia.com is non clusterable and you have tried to bind more than once from
two or more servers. Such objects ca
n only deployed from one server.>
and then,
####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster>
<liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
<000125> <Conflict Resolved: sbetrmi2 for
the object from liberatenode5.dc2.adelphia.com under the bind name sbetrmi2
in the JNDI tree.>
Should we use 'load balancing option' instead of 'server affinity' ?
Any thuoghts?
Thanks in adv.
VijayTest Reply
<Vijay Kumar> wrote in message news:[email protected]..
> <b>WLS 7.0.4 - JMS Connection Factory - Server Affinity - issues in log
> file</b>
>
> We are using WLS 7.0.4 - One of JMS connection factory setting in admin
> console we selected "Server Affinity" options.
>
> We see this messages appear in Weblogic log file,
> ####<Apr 24, 2006 1:56:53 AM EDT> <Error> <Cluster>
> <liberatenode4.dc2.adelphia.com> <node4_svr> <ExecuteThrea
> d: '4' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000123> <Conflict start: You tried to bi
> nd an object under the name sbetrmi2 in the JNDI tree. The object you have
> bound from liberatenode2.dc2.adelp
> hia.com is non clusterable and you have tried to bind more than once from
> two or more servers. Such objects ca
> n only deployed from one server.>
>
> and then,
> ####<Apr 24, 2006 1:58:12 AM EDT> <Error> <Cluster>
> <liberatenode5.dc2.adelphia.com> <node5_svr> <ExecuteThrea
> d: '7' for queue: '__weblogic_admin_rmi_queue'> <kernel identity> <>
> <000125> <Conflict Resolved: sbetrmi2 for
> the object from liberatenode5.dc2.adelphia.com under the bind name
> sbetrmi2 in the JNDI tree.>
>
>
> Should we use 'load balancing option' instead of 'server affinity' ?
>
> Any thuoghts?
>
> Thanks in adv.
> Vijay -
Javax.naming.NameNotFoundException for foreign JMS Connection factory
I have a foreign jms server configured and when I try and test it I get a Name not found exception.
javax.naming.NameNotFoundException: Unable to resolve 'jms.SSLQueueConnectionFactory' Resolved jms [Root exception is javax.naming.NameNotFoundException: Unable to resolve 'jms.SSLQueueConnectionFactory' Resolved jms]; remaining name 'SSLQueueConnectionFactory'
The config.xml looks ok
<ForeignJMSServer
ConnectionURL="ssl://eaid1-jms.ges.symantec.com:7243"
JNDIProperties="" Name="JMS Proxy Dev" Targets="TeamWorksServer">
<ForeignJMSConnectionFactory
LocalJNDIName="jms.SSLQueueConnectionFactory"
Name="MyForeign JMS Connection Factory"
PasswordEncrypted="{3DES}Es94ikW1TZzBFyDp+3/gktRtDaHWI6j/"
RemoteJNDIName="SSLQueueConnectionFactory" Username="weblogicUser"/>
<ForeignJMSDestination LocalJNDIName="jms.WEBLOGIC.TEST.QUEUE"
Name="MyForeign JMS Destination" RemoteJNDIName="WEBLOGIC.TEST.QUEUE"/>
</ForeignJMSServer>
The code i took from the QueueSend example
package com.symantec.utils.jms;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;
import javax.jms.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/** This example shows how to establish a connection
* and send messages to the JMS queue. The classes in this
* package operate on the same JMS queue. Run the classes together to
* witness messages being sent and received, and to browse the queue
* for messages. The class is used to send messages to the queue.
* @author Copyright (c) 1999-2006 by BEA Systems, Inc. All Rights Reserved.
public class QueueSend
// Defines the JNDI context factory.
public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
// Defines the JMS context factory.
public final static String JMS_FACTORY="jms.SSLQueueConnectionFactory";
// Defines the queue.
public final static String QUEUE="WEBLOGIC.TEST.QUEUE";
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSender qsender;
private Queue queue;
private TextMessage msg;
* Creates all the necessary objects for sending
* messages to a JMS queue.
* @param ctx JNDI initial context
* @param queueName name of queue
* @exception NamingException if operation cannot be performed
* @exception JMSException if JMS fails to initialize due to internal error
public void init(Context ctx, String queueName)
throws NamingException, JMSException
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup(queueName);
qsender = qsession.createSender(queue);
msg = qsession.createTextMessage();
qcon.start();
* Sends a message to a JMS queue.
* @param message message to be sent
* @exception JMSException if JMS fails to send message due to internal error
public void send(String message) throws JMSException {
msg.setText(message);
qsender.send(msg);
* Closes JMS objects.
* @exception JMSException if JMS fails to close objects due to internal error
public void close() throws JMSException {
qsender.close();
qsession.close();
qcon.close();
private static void readAndSend(QueueSend qs)throws IOException, JMSException
BufferedReader msgStream = new BufferedReader(new InputStreamReader(System.in));
String line=null;
boolean quitNow = false;
do {
System.out.print("Enter message (\"quit\" to quit): \n");
line = msgStream.readLine();
if (line != null && line.trim().length() != 0) {
qs.send(line);
System.out.println("JMS Message Sent: "+line+"\n");
quitNow = line.equalsIgnoreCase("quit");
} while (! quitNow);
private static InitialContext getInitialContext(String url)
throws NamingException
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
return new InitialContext(env);
/** main() method.
* @param args WebLogic Server URL
* @exception Exception if operation fails
public static void main(String[] args) throws Exception
InitialContext ic = getInitialContext("t3://tus1bpmappdin01.ges.symantec.com:7501");
QueueSend qs = new QueueSend();
qs.init(ic, QUEUE);
readAndSend(qs);
qs.close();
Any suggestions would be appreciated
RegardsI have a foreign jms server configured and when I try and test it I get a Name not found exception.
javax.naming.NameNotFoundException: Unable to resolve 'jms.SSLQueueConnectionFactory' Resolved jms [Root exception is javax.naming.NameNotFoundException: Unable to resolve 'jms.SSLQueueConnectionFactory' Resolved jms]; remaining name 'SSLQueueConnectionFactory'
The config.xml looks ok
<ForeignJMSServer
ConnectionURL="ssl://eaid1-jms.ges.symantec.com:7243"
JNDIProperties="" Name="JMS Proxy Dev" Targets="TeamWorksServer">
<ForeignJMSConnectionFactory
LocalJNDIName="jms.SSLQueueConnectionFactory"
Name="MyForeign JMS Connection Factory"
PasswordEncrypted="{3DES}Es94ikW1TZzBFyDp+3/gktRtDaHWI6j/"
RemoteJNDIName="SSLQueueConnectionFactory" Username="weblogicUser"/>
<ForeignJMSDestination LocalJNDIName="jms.WEBLOGIC.TEST.QUEUE"
Name="MyForeign JMS Destination" RemoteJNDIName="WEBLOGIC.TEST.QUEUE"/>
</ForeignJMSServer>
The code i took from the QueueSend example
package com.symantec.utils.jms;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;
import javax.jms.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/** This example shows how to establish a connection
* and send messages to the JMS queue. The classes in this
* package operate on the same JMS queue. Run the classes together to
* witness messages being sent and received, and to browse the queue
* for messages. The class is used to send messages to the queue.
* @author Copyright (c) 1999-2006 by BEA Systems, Inc. All Rights Reserved.
public class QueueSend
// Defines the JNDI context factory.
public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
// Defines the JMS context factory.
public final static String JMS_FACTORY="jms.SSLQueueConnectionFactory";
// Defines the queue.
public final static String QUEUE="WEBLOGIC.TEST.QUEUE";
private QueueConnectionFactory qconFactory;
private QueueConnection qcon;
private QueueSession qsession;
private QueueSender qsender;
private Queue queue;
private TextMessage msg;
* Creates all the necessary objects for sending
* messages to a JMS queue.
* @param ctx JNDI initial context
* @param queueName name of queue
* @exception NamingException if operation cannot be performed
* @exception JMSException if JMS fails to initialize due to internal error
public void init(Context ctx, String queueName)
throws NamingException, JMSException
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup(queueName);
qsender = qsession.createSender(queue);
msg = qsession.createTextMessage();
qcon.start();
* Sends a message to a JMS queue.
* @param message message to be sent
* @exception JMSException if JMS fails to send message due to internal error
public void send(String message) throws JMSException {
msg.setText(message);
qsender.send(msg);
* Closes JMS objects.
* @exception JMSException if JMS fails to close objects due to internal error
public void close() throws JMSException {
qsender.close();
qsession.close();
qcon.close();
private static void readAndSend(QueueSend qs)throws IOException, JMSException
BufferedReader msgStream = new BufferedReader(new InputStreamReader(System.in));
String line=null;
boolean quitNow = false;
do {
System.out.print("Enter message (\"quit\" to quit): \n");
line = msgStream.readLine();
if (line != null && line.trim().length() != 0) {
qs.send(line);
System.out.println("JMS Message Sent: "+line+"\n");
quitNow = line.equalsIgnoreCase("quit");
} while (! quitNow);
private static InitialContext getInitialContext(String url)
throws NamingException
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
return new InitialContext(env);
/** main() method.
* @param args WebLogic Server URL
* @exception Exception if operation fails
public static void main(String[] args) throws Exception
InitialContext ic = getInitialContext("t3://tus1bpmappdin01.ges.symantec.com:7501");
QueueSend qs = new QueueSend();
qs.init(ic, QUEUE);
readAndSend(qs);
qs.close();
Any suggestions would be appreciated
Regards -
JMS Connection Factory jms/QueueConnectionFactory could not be found
Hi,
Previously, i tried to extend weblogic domain "oim_domain" that only configured for OIM, and integrate the OIM with OAM 11g.
The integration was failed, because all users cannot login to OAM login page (using Active Directory authentication), so i rolled back all configuration by copying MW_HOME i've backed-up before extend the weblogic domain.
When i start the OIM after rolled back, i've found an error message as follow :
<May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050009> <Async Service initialization failed because JMS Connection Factory jms/Queu
eConnectionFactory could not be found. Please check that a JMS Connection Factory with JNDI Name jms/QueueConnectionFactory is present in the Application Ser
ver.>
<May 16, 2013 11:38:15 AM WIT> <Error> <oracle.iam.platform.async> <IAM-0050010> <Error Trace Follows
javax.naming.NamingException: String index out of range: -1
at weblogic.jndi.Environment.getContext(Environment.java:308)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
and this error message :
<May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : oracle.iam.platform.async.
AsyncService>
<May 16, 2013 11:38:15 AM WIT> <Warning> <oracle.iam.platform.utils> <IAM-0070016> <An error occurred while initializing service : {0}
javax.naming.NamingException: String index out of range: -1
at weblogic.jndi.Environment.getContext(Environment.java:308)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
Please help.
Best Regards,
HeriI have the same error!!! Do you manage to solve it?
-
请教:JMS中配置的Connection Factory究竟是哪种?
JMS中配置的Connection Factory究竟是哪种?QueueConnectionFactory? TopicConnectionFactory? XAQueueConnectionFactory?还是XATopicConnectionFactory?能否选择?
用户能否定制自己的Connection Factory?
谢谢!我将jbuider里的代码贴出来你看一下,呵呵,供参考:
// JBuilder API Decompiler stub source generated from class file
// 2005-11-5
// -- implementation of methods is not available
package weblogic.jms.client;
// Imports
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.rmi.Remote;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import weblogic.jms.frontend.FEConnectionFactoryRemote;
import weblogic.rmi.extensions.server.RemoteWrapper;
public class JMSConnectionFactory implements QueueConnectionFactory, TopicConnectionFactory, Externalizable, RemoteWrapper {
// Fields
static final long serialVersionUID = 2752718129231506407L;
static final byte EXTVERSION1 = 1;
static final byte EXTVERSION2 = 2;
private static final byte INTERFACE_VERSION_PRE_81 = 0;
private static final byte INTERFACE_VERSION_81 = 1;
private static final byte INTERFACE_VERSION_CURRENT = 1;
private FEConnectionFactoryRemote feConnectionFactoryRemote;
private byte interfaceVersion;
// Constructors
public JMSConnectionFactory() { }
public JMSConnectionFactory(FEConnectionFactoryRemote fEConnectionFactoryRemote) { }
// Methods
public QueueConnection createQueueConnection(String string, String string1) throws JMSException { return null;}
public QueueConnection createQueueConnection() throws JMSException { return null;}
public TopicConnection createTopicConnection(String string, String string1) throws JMSException { return null;}
public TopicConnection createTopicConnection() throws JMSException { return null;}
public Connection createConnection() throws JMSException { return null;}
public Connection createConnection(String string, String string1) throws JMSException { return null;}
protected JMSConnection createConnectionInternal(String string, String string1, boolean _boolean) throws JMSException { return null;}
public void writeExternal(ObjectOutput objectOutput) throws IOException { }
public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { }
public Remote getRemoteDelegate() { return null;} -
Trying to look up a JMS Connection Factory in WebLogic 10.3.3
Actually I'm just trying to get started with JMS and the new version of B2B integrated into weblogic. I can't even get the lookup to the connection factory to work.
Properties env = new Properties( );
env.put(Context.SECURITY_PRINCIPAL, "weblogic");
env.put(Context.SECURITY_CREDENTIALS, "xxxxxx");
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL,
"t3://realHostName:7001");
InitialContext jndi = new InitialContext(env);
ConnectionFactory conFactory =
(ConnectionFactory)jndi.lookup("jms/b2b/B2BQueueConnectionFactory");
I am looking at the what I think is the connection factory jndi name. I'm looking at the settings for the SOAJMSModule and I see in the table the following information:
Name: B2BQueueConnectionFactory
Type:Connection Factory
JNDI: jms/b2b/B2BQueueConnectionFactory
Sub Deployment: Default Targetting
Targets: soa_server1
Do I need to use the sub deployment somehow maybe? Is the JNDI name somewhere else?
I keep getting: "javax.naming.NameNotFoundException: Exception in lookup.: `jms/b2b/B2BQueueConnectionFactory' could not be found."
Thanks,
DanHi Dan,
As u have targeted the ConnectionFactory to "soa_server1" which is running on "realHostName:7001" ....Can u please check from the AdminConsole that the JNDI name ""jms/b2b/B2BQueueConnectionFactory" is present in the JNDI Tree?
AdminConsole---->Servers---soa_server1 (click) ---> in this general configuration page you will see a link "View JNDI Tree" please ckick on that link to see the JNDI tree entries.
If you dont see any JNDI entry there then it means there is something wrong while setting up the Connection Factory in that case please refer to the Screenshots of Creating and Targeting the Connection Factory: *http://middlewaremagic.com/weblogic/?p=1987*
Thanks
Jay SenSharma
*http://middlewaremagic.com/weblogic (Middleware magic Is Here)* -
Problem with transacted JMS connection factory and transaction timeouts
We encountered an interesting problem using transacted JMS connection factories.
An EJB starts a container managed transaction and tries to validate a credit card
before creating some information to a database for the user, in case of success
an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
duration is about the same as the transactions timeout (in this case the default
30 seconds) sometimes the database inserts is committed but the JMS insert is
rollbacked. How can this be?
If the authorization duration is much longer than 30 seconds everything works
fine (both database and JMS inserts rollbacked), the same is true if a rollback
is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
if the duration is approximately the same as the transaction timeout, it appears
that the database insert is not timeouted but the JMS insert is. How can this
be if they are both participating in the same transaction.
The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
is the same also with the default "javax.jms.QueueConnectionFactory" and if we
configure our own factory with user transactions enabled.
Any help appreciated!
Tomas Granö wrote:
> We encountered an interesting problem using transacted JMS connection factories.
> An EJB starts a container managed transaction and tries to validate a credit card
> before creating some information to a database for the user, in case of success
> an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
> duration is about the same as the transactions timeout (in this case the default
> 30 seconds) sometimes the database inserts is committed but the JMS insert is
> rollbacked. How can this be?
It should not be.
>
> If the authorization duration is much longer than 30 seconds everything works
> fine (both database and JMS inserts rollbacked), the same is true if a rollback
> is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
> if the duration is approximately the same as the transaction timeout, it appears
> that the database insert is not timeouted but the JMS insert is. How can this
> be if they are both participating in the same transaction.
>
> The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
> is the same also with the default "javax.jms.QueueConnectionFactory" and if we
> configure our own factory with user transactions enabled.
>
> Any help appreciated!
Make sure that your session is not "transacted". In other words,
the first parameter to createSession() must be false. There is an
unfortunate name re-use here. If a session is "transacted", it
maintains an independent "inner transaction" independent of the
outer transaction. From the above description, it seems unlikely
that your application has this wrong, as you say that
"setRollbackOnly" works - but please check anyway.
Make sure that you are using a true XA capable driver and database
(XA "emulation" may not suffice)
Beyond the above, I do not see what can be going wrong. You
may want to try posting to the transactions and jdbc newsgroups. Note
that JMS is appears to be exhibiting the correct behavior, but the
JDBC operation is not. The JDBC operation appears to have
its timeout independent of the transaction monitor's timeout.
Tom
-
Change the weblogic default jms connection factory
Hello!
Is possible to change the JMS Default Connection Factory (weblogic.jms.ConnectionFactory) in Weblogic?
It doesn't appears on Admin console. Is possible to access it through WLST? I can 't find it on MBean tree (domain an server config).
I want to change some Flow Control settings. I know I can create a new Connection Factory, but I don't want to change my application code uses teh default CF jndi name.
regards.There's no way to change the default connection factory tuning. If you need to tune a CF setting for an app that's using a default CF, then tuning is accomplished using the steps you mentioned: (A) configuring a custom connection factory, and (B) changing apps that need specialized tuning to refer to the JNDI name of the custom connection factory.
It's often helpful to use "Foreign JMS" to enable changing an app's CF without changing the app. See http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#i1009775
HTH,
Tom Barnes
WebLogic Messaging Development Team -
Foreign jms connection factory username and password
I have to connect to TIBCO as the foreign JMS. I have created a foreign JMS server and configured JNDI properties including username and password. I configured a connection factory and specified username and password as well. Finally, I configured foreign destination.
In web.xml and corresponding welogic.xml, I am using the resource-ref with Container authentication.
With the above, I always get the following exception.
javax.jms.JMSSecurityException: Not permitted
at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:499)
at com.tibco.tibjms.TibjmsSession._createProducer(TibjmsSession.java:697)
at com.tibco.tibjms.TibjmsQueueSession.createSender(TibjmsQueueSession.java:123)
The above code works fine under the following circumstances:
* If I don't use any username and passwords.
* If I pass the username and password to the connection factory when creating the connection. According to the documentation here (http://e-docs.bea.com/wls/docs81/jms/j2ee_components.html#1033768) doing so in an error:(
Any ideas or suggestions?Even though I had configured things in the web.xml and weblogic.xml, I didn't use them. So, instead of using global JNDI, I used java:comp/env JNDI. Once, I used the correct JNDI, the connection is working... I will continue to do further testing.
> I have to connect to TIBCO as the foreign JMS. I
> have created a foreign JMS server and configured JNDI
> properties including username and password. I
> configured a connection factory and specified
> username and password as well. Finally, I configured
> foreign destination.
>
> In web.xml and corresponding welogic.xml, I am using
> the resource-ref with Container authentication.
>
> With the above, I always get the following exception.
>
>
> javax.jms.JMSSecurityException: Not permitted
> at
> t
> com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:4
> 99)
> at
> t
> com.tibco.tibjms.TibjmsSession._createProducer(TibjmsS
> ession.java:697)
> at
> t
> com.tibco.tibjms.TibjmsQueueSession.createSender(Tibjm
> sQueueSession.java:123)
>
> The above code works fine under the following
> circumstances:
> * If I don't use any username and passwords.
> * If I pass the username and password to the
> connection factory when creating the connection.
> According to the documentation here
> e
> (http://e-docs.bea.com/wls/docs81/jms/j2ee_components.
> html#1033768) doing so in an error:(
>
> Any ideas or suggestions?
Maybe you are looking for
-
I have looked all over the Apple Store website but there is no obvious email address. I have tried to post feedback and 'follow my repair online' but the are not responding. Thanks anybody who can advise an email address.
-
Find Friends App has not been working for several weeks now. Anyone else experiencing issues with the app? It states that the location of friends can not be found.
-
no video just audio on apple tutorial, any advice
-
Client Object Model - Can't seem to get sites on 2010 but i can 2013
Hi, So i'm trying to use the client model to get sites of a site collection and this is what I've got. Try ImportFSitesList.Clear() ImportFClientContext.Load(ImportFWeb, Function(website) website.Webs, Function(website) website.Title) ImportFClientCo
-
ActionPerformed() not working correctly
This class, ClassExplorer, displays information on a class. Can you tell me why the actionPerformed() method of class ExplorerButton is not working? import java.lang.reflect.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import