cancel
Showing results for 
Search instead for 
Did you mean: 

Can't deploy a jms connection factory

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

Vlado
Advisor
Advisor
0 Kudos

Hi Jay,

Guess the problem is in the <link-factory-name> of your XML descriptor. Please have a look at <a href="/people/ekaterina.anachkova/blog/2007/02/05/using-jms-resources-in-java-ee-applications-ejb-mdb-servlets-jsps-etc">this</a> blog. It describes all the steps necessary to perform to create your JMS resources.

-Vladimir

Answers (1)

Answers (1)

Former Member
0 Kudos

Thanks Vladimir!

I am using the jms-resources.xml to define both my connection factory and destinations and it seems to work fine.

It sure would have been helpful if the jms-resources.xsd was included in the Deployment Descriptors section of the Appendix of the Reference guide.

Vlado
Advisor
Advisor
0 Kudos

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.

Former Member
0 Kudos

Maybe I am looking in the wrong place for SAP EE 5 documentation? I have been looking at the online help. Specifically, I have been looking at the descriptors at this link:

http://help.sap.com/saphelp_nw04s/helpdata/en/3f/40bd71ae1a9b45a0f3eb6ff0a27aae/frameset.htm

Do you know if this is the right place to be looking for SAP EE 5 documentation?

Vlado
Advisor
Advisor
0 Kudos

Nope, this is for NW04s.

The starting point for Java EE 5 @ SAP is https://www.sdn.sap.com/irj/sdn/javaee5.

Former Member
0 Kudos

Thanks Vladimir. This is very helpful.

Some of the related links on the EE 5 pages still take you to NW04s links. I think that is how I got down this path in the first place. Probably some of the NW04s information still applies

Thanks again.