Community

javax.naming.NameNotFoundException: Name not found

created by Rama Krishna Sarraju in JNDI and Naming - View the full discussion

Hi ,

 

I have integrated JBoss 5.1.0-GA and Tibco EMS(Remote) on SSL as per the TibcoIntegration Document. After completing all the required configs, I am getting the following exception when I deploy my ear (which contains a MDB).

 

All the configuration is given below , can someone please tell me what is going wrong here:

 

Exception:

 

2010-04-22 13:14:48,574 INFO  [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-2) Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@4b91e7(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@1a6463c destination=myremote.queue.incoming destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/TibcoJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
2010-04-22 13:14:48,677 ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-2) Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@4b91e7(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@1a6463c destination=myremote.queue.incoming destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/TibcoJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
javax.naming.NameNotFoundException: Name not found: 'SSLXAQueueConnectionFactory'
        at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:736)
        at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:516)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.jboss.util.naming.Util.lookup(Util.java:222)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupQueueConnection(JmsActivation.java:525)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupConnection(JmsActivation.java:506)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:353)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
        at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
        at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
        at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

 

jboss/server/default/deploy/messaging/tibco-jms-ds.xml:

 

<!-- =================== TIBCO EMS JMS provider loader ================== -->

<connection-factories>

  <mbean code="org.jboss.jms.jndi.JMSProviderLoader" name=":service=JMSProviderLoader,name=TibjmsProvider">

    <attribute name="ProviderName">TibcoJMSProvider</attribute>

    <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>

    <attribute name="QueueFactoryRef">SSLXAQueueConnectionFactory</attribute>

    <attribute name="TopicFactoryRef">XATopicConnectionFactory</attribute>

    <attribute name="Properties">

       java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory

       java.naming.provider.url=tibjmsnaming://tibco-ems-server:7222

       java.naming.factory.url.pkgs=com.tibco.tibjms.naming

    </attribute>

    <!-- attribute name="ProviderUrl">tibjmsnaming://tibco-ems-server:7222</attribute -->

  </mbean>

 

  <!-- Redirect QueueConnectionFactory to TIBCO Enterprise Message Service -->

 

  <mbean code="org.jboss.naming.NamingAlias" name="DefaultDomain:service=NamingAlias,fromName=SSLXAQueueConnectionFactory">

    <attribute name="ToName">tibjmsnaming://tibco-ems-server:7222/SSLXAQueueConnectionFactory</attribute>

    <attribute name="FromName">SSLXAQueueConnectionFactory</attribute>

  </mbean>

 

 

  <mbean code="org.jboss.naming.NamingAlias" name="DefaultDomain:service=NamingAlias,fromName=ConnectionFactory">

    <attribute name="ToName">tibjmsnaming://tibco-ems-server:7222/SSLXAQueueConnectionFactory</attribute>

    <attribute name="FromName">ConnectionFactory</attribute>

  </mbean>

 

  <tx-connection-factory>

    <jndi-name>JmsXA</jndi-name>

    <xa-transaction></xa-transaction>

    <rar-name>jms-ra.rar</rar-name>

    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>

    <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>

    <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/TibcoJMSProvider</config-property>

    <max-pool-size>20</max-pool-size>

    <security-domain-and-application>JmsXARealm</security-domain-and-application>

<!--
        <config-property name="UserName" type="java.lang.String">user</config-property>
        <config-property name="Password" type="java.lang.String">password</config-property>
-->
  </tx-connection-factory>
</connection-factories>
<!-- ==================================================================== -->

jboss/server/default/conf/jndi.properties:

 

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:com.tibco.tibjms.naming

com.tibco.tibjms.naming.security_protocol=ssl

com.tibco.tibjms.naming.ssl_enable_verify_host=false

com.tibco.tibjms.naming.ssl_enable_verify_host_name=false

com.tibco.tibjms.naming.ssl_vendor=j2se-default

com.tibco.tibjms.naming.ssl_trusted_certificate=my.pem

com.tibco.tibjms.naming.ssl_identity=my.p12

com.tibco.tibjms.naming.ssl_password=password

com.tibco.tibjms.naming.ssl_trace=false

com.tibco.tibjms.naming.ssl_debug_trace=false


Annotations used in MDB:
@MessageDriven(activationConfig =
{
@ActivationConfigProperty (propertyName="destinationType", propertyValue="javax.jms.Queue"),
@ActivationConfigProperty (propertyName="destination", propertyValue="myremote.queue.incoming"),
@ActivationConfigProperty (propertyName="useDLQ", propertyValue="false"),
@ActivationConfigProperty(
                    propertyName="providerAdapterJNDI",
                    propertyValue="java:/TibcoJMSProvider")

})
MDB/META-INF/jboss.xml:
<?xml version="1.0" encoding="utf-8"?>
                            http://www.jboss.org/j2ee/schema/jboss_5_0.xsd" version="3.0">
<resource-managers>
<resource-manager>
<res-name>queuefactoryref</res-name>
<res-jndi-name>java:/JmsXA</res-jndi-name>
</resource-manager>
</resource-managers>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB</ejb-name>
<destination-jndi-name>myremote.queue.incoming</destination-jndi-name>
<resource-ref>
<res-ref-name>jms/QCF</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<resource-name>queuefactoryref</resource-name>
</resource-ref>
</message-driven>
</enterprise-beans>
</jboss>
MDB/META-INF/ejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?>
                            http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"    version="3.0">
<description>EJB Module</description>
<display-name>EJB Module</display-name>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB</ejb-name>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-link>myremote.queue.incoming</message-destination-link>
<resource-ref>
<res-ref-name>jms/QCF</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<resource-name>queuefactoryref</resource-name>
</resource-ref>
                <resource-env-ref>
                        <resource-env-ref-name>myremote.queue.incoming</resource-env-ref-name>
                        <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
                </resource-env-ref>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
</assembly-descriptor>
</ejb-jar>
jboss/server/default/conf/standardjboss.xml:
    <invoker-proxy-binding>
      <name>message-driven-bean</name>
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
        <JMSProviderAdapterJNDI>TibcoJMSProvider</JMSProviderAdapterJNDI>
        <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
        <CreateJBossMQDestination>false</CreateJBossMQDestination>
        <!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->
        <MinimumSize>1</MinimumSize>
        <MaximumSize>15</MaximumSize>
        <KeepAliveMillis>30000</KeepAliveMillis>
        <MaxMessages>1</MaxMessages>
      </proxy-factory-config>
    </invoker-proxy-binding>

    <invoker-proxy-binding>
      <name>message-driven-bean</name>
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.inflow.JBossJMSMessageEndpointFactory</proxy-factory>
      <proxy-factory-config>
        <activation-config>
           <activation-config-property>
              <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
              <activation-config-property-value>TibcoJMSProvider</activation-config-property-value>
.......

    <invoker-proxy-binding>
      <name>singleton-message-driven-bean</name>
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
        <JMSProviderAdapterJNDI>TibcoJMSProvider</JMSProviderAdapterJNDI>
        <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
        <CreateJBossMQDestination>false</CreateJBossMQDestination>
        <!-- WARN: Don't set this to zero until a bug in the pooled executor is fixed -->
        <MinimumSize>1</MinimumSize>
        <MaximumSize>1</MaximumSize>
        <KeepAliveMillis>30000</KeepAliveMillis>
        <MaxMessages>1</MaxMessages>
      </proxy-factory-config>
    </invoker-proxy-binding>

    <invoker-proxy-binding>
      <name>jms-message-inflow-driven-bean</name>
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.inflow.JBossJMSMessageEndpointFactory</proxy-factory>
      <proxy-factory-config>
        <activation-config>
           <activation-config-property>
              <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
              <activation-config-property-value>TibcoJMSProvider</activation-config-property-value>
           </activation-config-property>
.....

Reply to this message by going to Community

Start a new discussion in JNDI and Naming at Community