[JCA Development] New message: "Standalone JCA: JNDI binding for multiple connection factories..."
by Scott Marlow
JBoss development,
A new message was posted in the thread "Standalone JCA: JNDI binding for multiple connection factories...":
http://community.jboss.org/message/528344#528344
Author : Scott Marlow
Profile : http://community.jboss.org/people/smarlow@redhat.com
Message:
--------------------------------------------------------------
RADeployer needs to deal with outbound resource adapters that have multiple connection factories (each of which should be bound to JNDI).
For the JNDI binding, if the connection factory is a javax.resource.Referenceable, we will bind a javax.naming.Reference to JNDI. The Reference represents the CF along with javax.naming.StringRefAddr values that contain configuration settings. This is currently working in jboss-jca/trunk with a simple single CF design. This note is about expanding our support to cover binding multiple CFs to jndi and other gap filling.
I assume that we need to handle JNDI binding connection factories that are serializable but don't implement Referenceable. If anyone knows otherwise, please speak up. For the serializable case, we will bind the CF directly to JNDI.
In either case, we will bind the CF under the jndi-name either specified in configuration or derived from the resource adapter name (minus the ".rar"). We should look at any current JNDI naming conventions that might make sense to preserve. It seems important to me that we bind under the expected name that applications will later use.
At the very least, we should log (INFO level) the full jndi name that each CF is bound to. I also propose that we consider a logging configuration that controls what is logged/monitored in jboss-jca (e.g. whether to log jndi names, datasource/cci operations, enable debug wrappers). I'll write more about this if others like this idea.
Comments?
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/528344#528344
14 years, 9 months
[JBoss Messaging Development] New message: "Problem integrating Weblogic 8.1 JMS with Jboss 5.1"
by rajsoni
JBoss 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@7fd7c1(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@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@7fd7c1(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@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
14 years, 9 months
[JBoss Microcontainer Development] New message: "Re: JBDEPLOY-226 - DeployerClient change extension"
by Ales Justin
JBoss development,
A new message was posted in the thread "JBDEPLOY-226 - DeployerClient change extension":
http://community.jboss.org/message/528219#528219
Author : Ales Justin
Profile : http://community.jboss.org/people/alesj
Message:
--------------------------------------------------------------
> Nope. But that probably needs resolving (pun intended) in the jboss-dependency project?
> I can prototype this in the ClassLoading project, but I think it is a general requirement?
What ever is easier for you.
Although it sounds like it should be a general requirement,
I don't really see any other valid use case apart from classloading+deployments,
hence it could easily only exist in ClassLoading project.
Although you would still have to provide a couple of mixins in jboss-dependency?
As you already mentioned, to make this generic,
dependency item itself would have to be somehow aware of what is valid or what's not.
e.g. the circular ctor case is not valid, but CL dependencies are
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/528219#528219
14 years, 9 months