[jboss-user] [JBoss Messaging Development] New message: "Problem integrating Weblogic 8.1 JMS with Jboss 5.1"

rajsoni do-not-reply at jboss.com
Wed Feb 24 16:45:35 EST 2010


User development,

A new message was posted in the thread "Problem integrating Weblogic 8.1 JMS with Jboss 5.1":

http://community.jboss.org/message/528327#528327

Author  : rajsoni
Profile : http://community.jboss.org/people/rajsoni

Message:
--------------------------------------------------------------
Hello Everyone,
 
Am trying to set up Weblogic8.1 as the JMS provider for Jboss 5.1.
Based on my findings and understanding of the changes needed to achieve this,I'have made the following changes :
 
*jms-ds.xml:*
 
   <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
        name="jboss.mq:service=JMSProviderLoader,name=WLJMSProvider">
      <attribute name="ProviderName">WLJMSProvider</attribute>
      <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
      <attribute name="QueueFactoryRef">weblogicjms</attribute>
      <attribute name="TopicFactoryRef">weblogicjms</attribute>
    </mbean>
 
   <no-tx-connection-factory>
      <jndi-name>WLJMS</jndi-name>
      <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:/WLJMSProvider</config-property>
      <max-pool-size>20</max-pool-size>
   </no-tx-connection-factory>
 
*jboss-service.xml:*
 
 <mbean code="org.jboss.naming.ExternalContext"
   name="DefaultDomain:service=ExternalContext,jndiName=weblogicjms">
   <attribute name="JndiName">weblogicjms</attribute>
   <attribute name="Properties">
   java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
   java.naming.provider.url=t3://remotehost:7001
   java.naming.security.authentication=none
   </attribute>
   <attribute name="InitialContext">javax.naming.InitialContext</attribute>
   </mbean>
 
Also added the weblogic.jar in the default/server/lib folder in Jboss.When I start Jboss after making these changes I see that the Jboss server is able to bind to the queue on remote server.
However,for the MDB,which is deployed on the Jboss server I see the following error while  activation:
 
 
16:32:41,661 INFO  [JmsActivation] Attempting to reconnect mailto:org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 7fd7c1(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at dee999 destination=java:WLJMS/QUEUE.MARKET destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
16:32:41,662 ERROR [JmsActivation] Unable to reconnect mailto:org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 7fd7c1(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at dee999 destination=java:WLJMS/QUEUE.MARKET destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
*javax.naming.NameNotFoundException: DefaultJMSProvider not bound*
 at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
 at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
 at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
 at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
 at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
 at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
 at javax.naming.InitialContext.lookup(InitialContext.java:409)
 at org.jboss.util.naming.Util.lookup(Util.java:222)
 at org.jboss.util.naming.Util.lookup(Util.java:182)
 at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupJMSProviderAdapter(JmsActivation.java:397)
 at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:346)
 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.runWorker(ThreadPoolExecutor.java:1110)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
 at java.lang.Thread.run(Thread.java:636)
 
 
Here's how the jboss.xml looks like for the MDB causing the problem while activation:
 
*********************************************************************************************************************************************************
<?xml version="1.0"?>
 <!DOCTYPE jboss PUBLIC
      "-//JBoss//DTD JBOSS 5.0//EN"
      "http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd">
<jboss>
    <enterprise-beans>
 <message-driven>
  <ejb-name>ProcessMDB</ejb-name>
   <destination-jndi-name>java:WLJMS/QUEUE.MARKET</destination-jndi-name>
            <local-jndi-name>local/ProcessMDB</local-jndi-name>
            <configuration-name>WeblogicRemoteMessageDrivenBean</configuration-name>
 </message-driven>
        
    </enterprise-beans>
    <invoker-proxy-bindings>
        <invoker-proxy-binding>
           <name>wl-mdb-invoker</name>
           <invoker-mbean>default</invoker-mbean>
           <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
           <proxy-factory-config>
           <JMSProviderAdapterJNDI>java:/WLJMS</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>
           <MDBConfig>
           <ReconnectIntervalSec>10</ReconnectIntervalSec>
           <DLQConfig>
           <DestinationQueue>queue/DLQ</DestinationQueue>
           <MaxTimesRedelivered>10</MaxTimesRedelivered>
           <TimeToLive>0</TimeToLive>
           </DLQConfig>
          </MDBConfig>
          </proxy-factory-config>
        </invoker-proxy-binding>
    </invoker-proxy-bindings>

    <container-configurations>
        <container-configuration>
            <container-name>WeblogicRemoteMessageDrivenBean</container-name>
            <call-logging>false</call-logging>
            <invoker-proxy-binding-name>wl-mdb-invoker</invoker-proxy-binding-name>
            <container-interceptors>
                <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
               <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
               <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
               <!-- CMT -->
               <interceptor>org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
               <interceptor>org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
               <interceptor>org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
               <!-- BMT -->
               <interceptor>org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
               <interceptor>org.jboss.ejb.plugins.MessageDrivenTxInterceptorBM</interceptor>
               <interceptor>org.jboss.ejb.plugins.CallValidationInerceptor</interceptor>
               <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
               </container-interceptors>
             <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
             <instance-cache></instance-cache>
             <persistence-manager></persistence-manager>
             <container-pool-conf>
              <MaximumSize>100</MaximumSize>
             </container-pool-conf>
        </container-configuration>
    </container-configurations>
 
Am not sure why it's trying to bind to the Default JMSprovider still instead of the WLJMSProvider that I have set up for this...
Have tried other options as well like making the changes for invokder binding in the standard-jboss.xml as well but havent found
the solution yet...
 
Can anyone help me with this issue?
thanks for your help in advance!!!

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/528327#528327




More information about the jboss-user mailing list