Otherwise the OSGi-fied classes are not visible to the CarbonContext.

Danushka

On Fri, Jan 14, 2011 at 10:50 PM, Hiranya Jayathilaka <[email protected]>wrote:

>
>
> On Fri, Jan 14, 2011 at 5:34 PM, Danushka Menikkumbura 
> <[email protected]>wrote:
>
>> The CarbonInitialContextFactory was introduced to solve this issue. You
>> need to have an Orbit bundle for ActiveMQ and set an instance of it's ICF in
>> the CarbonInitialContextFactory. Then use CarbonInitialContextFactory as
>> your ICF in JMS transport configuration.
>>
>
> Is this mandatory with the Carbon trunk? In that case it is not very user
> friendly IMO. The Axis2 JMS transport should work with any JMS broker
> without having to export the client libraries as OSGi bundles. It is not
> practical to maintain Orbit bundles for all the JMS brokers people use with
> Carbon (eg: ActiveMQ, WebsphereMQ, WebLogic...).
>
> We shouldn't be forcing the users to use CarbonInitialContextFactory
> either. This will break all currently working JMS transport configurations.
>
> Thanks,
> Hiranya
>
>
>>
>> Thanks,
>> Danushka
>>
>> On Fri, Jan 14, 2011 at 5:06 PM, Rajika Kumarasiri <[email protected]>wrote:
>>
>>> I just got a ESB build up and running from trunk and tried sample #250 (
>>> which is a JMS sample) but JMS is broken. I just placed the Activemq jars
>>> inside $CARBON_HOME/repository/components/lib and start the server which
>>> gave the following stack trace.
>>>
>>> Caused by: javax.naming.NoInitialContextException: Failed to create
>>> InitialContext using factory specified in hash table. [Root exception is
>>> java.lang.ClassNotFoundException: class
>>> org.apache.activemq.jndi.ActiveMQInitialContextFactory not found]
>>>     at
>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactoryBuilder.createInitialContextFactory(CarbonContextHolder.java:738)
>>>     at
>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:664)
>>>     at
>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>>>     at javax.naming.InitialContext.init(InitialContext.java:223)
>>>     at javax.naming.InitialContext.<init>(InitialContext.java:197)
>>>     at
>>> org.apache.axis2.transport.jms.JMSConnectionFactory.<init>(JMSConnectionFactory.java:91)
>>>     ... 11 more
>>> Caused by: java.lang.ClassNotFoundException: class
>>> org.apache.activemq.jndi.ActiveMQInitialContextFactory not found
>>>     at
>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder.classForName(CarbonContextHolder.java:1343)
>>>     at
>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder.access$500(CarbonContextHolder.java:74)
>>>     at
>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactoryBuilder.createInitialContextFactory(CarbonContextHolder.java:734)
>>>     ... 16 more
>>>
>>> Then I placed the same set of jars also inside $CARBON_HOME/lib folder
>>> which gave the following stack traces.
>>>
>>> ERROR - ListenerManager Couldn't initialize the jmstransport listener
>>> org.apache.axis2.transport.base.BaseTransportException: JNDI lookup of
>>> name QueueConnectionFactory returned a
>>> org.apache.activemq.ActiveMQConnectionFactory while a interface
>>> javax.jms.ConnectionFactory was expected
>>>     at
>>> org.apache.axis2.transport.base.BaseUtils.handleException(BaseUtils.java:166)
>>>     at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:522)
>>>     at
>>> org.apache.axis2.transport.jms.JMSConnectionFactory.<init>(JMSConnectionFactory.java:92)
>>>     at
>>> org.apache.axis2.transport.jms.JMSConnectionFactoryManager.loadConnectionFactoryDefinitions(JMSConnectionFactoryManager.java:58)
>>>     at
>>> org.apache.axis2.transport.jms.JMSConnectionFactoryManager.<init>(JMSConnectionFactoryManager.java:45)
>>>     at
>>> org.apache.axis2.transport.jms.JMSListener.doInit(JMSListener.java:58)
>>>     at
>>> org.apache.axis2.transport.base.AbstractTransportListenerEx.init(AbstractTransportListenerEx.java:62)
>>>     at
>>> org.apache.axis2.engine.ListenerManager.init(ListenerManager.java:83)
>>>     at
>>> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:395)
>>>     at
>>> org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:282)
>>>     at
>>> org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:117)
>>>     at
>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:916)
>>>     at
>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
>>>     at
>>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)
>>>
>>> I need to test the CSG work that I am working on, so it'd be great if we
>>> can fix these immediately.
>>>
>>> Rajika
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> [email protected]
>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: [email protected];  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>
_______________________________________________
Carbon-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to