Great! Please work with Amal and follow up with Shammi. It will be much effective.
On Wed, May 7, 2014 at 5:56 PM, Shazni Nazeer <[email protected]> wrote: > Hi Subash, > > Yes I'm also looking into this. > > Shazni Nazeer > > Senior Software Engineer > > Mob : +94 715 440 607 > LinkedIn : http://lk.linkedin.com/in/shazninazeer > Blog : http://shazninazeer.blogspot.com > > > On Wed, May 7, 2014 at 5:45 PM, Subash Chaturanga <[email protected]> wrote: > >> Hi Amal, >> Can't your implementation adhere to the old JMS client version instead ? >> >> Hi Shazni, >> Since we are blocked on this for some time and Amal is in support and >> having context switching on this and support issues. So can you please sit >> with him and do the needful to get this issue sorted out. Please talk to a >> carbon member to get their help if necessary proceed with the best approach. >> >> >> >> >> >> On Wed, May 7, 2014 at 2:43 PM, Amal Gunatilake <[email protected]> wrote: >> >>> Hi Shammi, >>> >>> Thanks for the idea. I tried this out with activemq-client jar and >>> several other jars. Still the casting problem exists. Further inspection >>> showed me that there is another older version of jms osgi bundle >>> (geronimo-spec-jms_1.1.0.rc4-wso2v1) in the carbon server. I think that >>> this bundle causes the issue since this is an older version of jms and when >>> we include the ActiveMQ jar to the lib the org.apache.activemq. >>> ActiveMQConnectionFactory will not be able to cast into older version of >>> javax.jms.TopicConnectionFactory. >>> >>> So either we have to update the versions of existing jms bundles or we >>> might have to find an older version of ActiveMQ jar which comply with >>> geronimo-spec-jms_1.1.0.rc4 version. >>> Appreciate your thoughts on the matter. >>> >>> Thank you, >>> >>> Thank you & Best regards, >>> >>> *Amal Gunatilake* >>> Software Engineer >>> WSO2 Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> >>> On Tue, May 6, 2014 at 4:33 PM, Shammi Jayasinghe <[email protected]>wrote: >>> >>>> Hi Amal, >>>> >>>> I think the adding of activemq-all bundle may adding another version >>>> of the library which contains javax.jms and it may cause this problem. >>>> Could you please try to not to add activemq-all but only the required >>>> bundles or remove the other library which contains javax.jms package and >>>> try this out. >>>> >>>> Thanks >>>> Shammi >>>> >>>> >>>> On Tue, May 6, 2014 at 3:57 PM, Amal Gunatilake <[email protected]> wrote: >>>> >>>>> Hi Shammi/Hasitha, >>>>> >>>>> There is a version conflict with existing javax.jms bundles when >>>>> starting the cache invalidation osgi bundle, which causes the casting >>>>> problem. Any thoughts on this matter? >>>>> >>>>> Thank you & Best regards, >>>>> >>>>> *Amal Gunatilake* >>>>> Software Engineer >>>>> WSO2 Inc.; http://wso2.com >>>>> lean.enterprise.middleware >>>>> >>>>> >>>>> On Tue, May 6, 2014 at 1:22 PM, Shazni Nazeer <[email protected]> wrote: >>>>> >>>>>> Hi Amal, >>>>>> >>>>>> Yes now the cache.xml entries are correctly read. After replacing >>>>>> activemq-core to activemq-all the debugging steps go below the >>>>>> IniatlContext line, but as you have mentioned when session object is >>>>>> being >>>>>> created the following exception is thrown. Therefore, still jms >>>>>> initialization fails. >>>>>> >>>>>> [2014-05-06 13:13:58,409] ERROR >>>>>> {org.wso2.carbon.caching.invalidator.jms.JMSGlobalCacheInvalidationImpl} >>>>>> - >>>>>> Global cache invalidation: Error jms broker initialization >>>>>> java.lang.ClassCastException: >>>>>> org.apache.activemq.ActiveMQConnectionFactory cannot be cast to >>>>>> javax.jms.TopicConnectionFactory >>>>>> at >>>>>> org.wso2.carbon.caching.invalidator.jms.JMSGlobalCacheInvalidationImpl.initJMSBroker(JMSGlobalCacheInvalidationImpl.java:112) >>>>>> at >>>>>> org.wso2.carbon.caching.invalidator.jms.JMSGlobalCacheInvalidationImpl.init(JMSGlobalCacheInvalidationImpl.java:96) >>>>>> at >>>>>> org.wso2.carbon.caching.invalidator.jms.JMSGlobalCacheInvalidationImpl.invalidateCache(JMSGlobalCacheInvalidationImpl.java:131) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.removeFromCache(CachingHandler.java:255) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.clearAncestry(CachingHandler.java:211) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.clearAncestry(CachingHandler.java:232) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.clearAncestry(CachingHandler.java:232) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.clearCache(CachingHandler.java:207) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.clearCache(CachingHandler.java:91) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CachingHandler.put(CachingHandler.java:280) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.put(HandlerManager.java:2503) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.put(HandlerLifecycleManager.java:993) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.put(EmbeddedRegistry.java:697) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CacheBackedRegistry.put(CacheBackedRegistry.java:508) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry.put(UserRegistry.java:680) >>>>>> at >>>>>> org.wso2.carbon.theme.mgt.util.ThemeUtil.transferAllThemesToRegistry(ThemeUtil.java:122) >>>>>> at >>>>>> org.wso2.carbon.theme.mgt.util.ThemeUtil.loadResourceThemes(ThemeUtil.java:175) >>>>>> at >>>>>> org.wso2.carbon.theme.mgt.internal.TenantThemeMgtServiceComponent.activate(TenantThemeMgtServiceComponent.java:53) >>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>> at >>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>>> at >>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>>> at >>>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>>> at >>>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>>> at >>>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>>> at >>>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>>> at >>>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451) >>>>>> at >>>>>> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:517) >>>>>> at >>>>>> org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219) >>>>>> at >>>>>> org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:77) >>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>> at >>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>>> at >>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) >>>>>> at >>>>>> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) >>>>>> at >>>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) >>>>>> at >>>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) >>>>>> at >>>>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) >>>>>> at >>>>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) >>>>>> at >>>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) >>>>>> at >>>>>> org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81) >>>>>> at >>>>>> org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60) >>>>>> at >>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38) >>>>>> at >>>>>> org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1279) >>>>>> at >>>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1192) >>>>>> at >>>>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087) >>>>>> at >>>>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210) >>>>>> at >>>>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493) >>>>>> at >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) >>>>>> at >>>>>> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) >>>>>> at >>>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:166) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>>> at java.lang.Thread.run(Thread.java:724) >>>>>> >>>>>> >>>>>> >>>>>> Shazni Nazeer >>>>>> >>>>>> Senior Software Engineer >>>>>> >>>>>> Mob : +94 715 440 607 >>>>>> LinkedIn : http://lk.linkedin.com/in/shazninazeer >>>>>> Blog : http://shazninazeer.blogspot.com >>>>>> >>>>>> >>>>>> On Tue, May 6, 2014 at 11:17 AM, Amal Gunatilake <[email protected]>wrote: >>>>>> >>>>>>> Hi Shazni, >>>>>>> >>>>>>> There was a problem with the cache.xml read and I fixed it. Somehow >>>>>>> when starting the osgi bundle it's not picking the child elements and I >>>>>>> did >>>>>>> an alternative way to read the properties in cache.xml. >>>>>>> >>>>>>> At the initialization, the isCoordinator check is not necessary >>>>>>> since this is already done by cache.xml. If the cache.xml is configured >>>>>>> with global cache invalidation parameters, then the jms initialization >>>>>>> will >>>>>>> happen. The isCoordinator check will happen when publishing a cache >>>>>>> invalidation message and when receiving a cache invalidation message. >>>>>>> >>>>>>> The JMS broker is not being initialized bcuz it is missing the >>>>>>> ActiveMQInitialContextFactory class at the run-time; therefore you need >>>>>>> to >>>>>>> add the AqtiveMQ-All jar to the components/lib. That will solve the >>>>>>> InitialContext problem, but then there is another issue which I'm >>>>>>> currently >>>>>>> looking at. >>>>>>> >>>>>>> There is a javax.jms class version miss match. At the line that it >>>>>>> creates the session, the ActiveMQSession cannot be cast into >>>>>>> javax.jms.Session because at the run-time there is a different jms jar >>>>>>> is >>>>>>> loading into the class-path as I figured. This is actually an exception >>>>>>> but >>>>>>> it's not captured to the carbon console, and instead result in >>>>>>> restarting >>>>>>> the osgi bundle. I located this when debugging the code. >>>>>>> >>>>>>> Even though the ActiveMQ-All jar has all the classes needed, it >>>>>>> seems there is problem as "Type mismatch Can't assign >>>>>>> org.apache.activemq.ActiveMQSession to javax.jms.Session". But this >>>>>>> won't >>>>>>> throw as an exception because the classes are already there but with >>>>>>> different versions loaded somehow. Therefore this results in restarting >>>>>>> the >>>>>>> osgi bundle. >>>>>>> >>>>>>> I'm looking into this matter and anyone got any thoughts on this >>>>>>> would warmly welcome. >>>>>>> >>>>>>> Thank you & Best regards, >>>>>>> >>>>>>> *Amal Gunatilake* >>>>>>> Software Engineer >>>>>>> WSO2 Inc.; http://wso2.com >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> >>>>>>> On Tue, May 6, 2014 at 10:24 AM, Shazni Nazeer <[email protected]>wrote: >>>>>>> >>>>>>>> Hi Amal, >>>>>>>> >>>>>>>> While testing the GREG after doing the change to use the Global >>>>>>>> cache invalidation I noticed the following. >>>>>>>> >>>>>>>> At the time when cache.xml is parsed, it seems the child elements >>>>>>>> of the cache.xml is never read. The code at that parsing location >>>>>>>> seems to >>>>>>>> be incorrect. >>>>>>>> >>>>>>>> Further, at the initializing JMS, the debugging steps never go >>>>>>>> below the line where InitalContext is created. Therefore the broker is >>>>>>>> not >>>>>>>> getting initialized. The debugging steps strangely jumps back to init >>>>>>>> method a many times. >>>>>>>> >>>>>>>> Further more, the coordination check at the initialization returns >>>>>>>> false, but at the invalidateCache method it becomes true making a >>>>>>>> NullPointerException for session object. IMO, the isCordinator check >>>>>>>> at the >>>>>>>> initialization is not needed. WDYT??? >>>>>>>> >>>>>>>> Shazni Nazeer >>>>>>>> >>>>>>>> Senior Software Engineer >>>>>>>> >>>>>>>> Mob : +94 715 440 607 >>>>>>>> LinkedIn : http://lk.linkedin.com/in/shazninazeer >>>>>>>> Blog : http://shazninazeer.blogspot.com >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 29, 2014 at 4:55 PM, Amal Gunatilake <[email protected]>wrote: >>>>>>>> >>>>>>>>> The updates are available @ >>>>>>>>> https://github.com/amalhub/carbon4-kernel/commit/10734eb2ded9afaee57dd96f8cd5665f0638d8c3 >>>>>>>>> >>>>>>>>> >>>>>>>>> Thank you & Best regards, >>>>>>>>> >>>>>>>>> *Amal Gunatilake* >>>>>>>>> Software Engineer >>>>>>>>> WSO2 Inc.; http://wso2.com >>>>>>>>> lean.enterprise.middleware >>>>>>>>> >>>>>>>>> >>>>> >>>> >>>> >>>> -- >>>> Best Regards, >>>> >>>> * Shammi Jayasinghe* >>>> Associate Tech Lead >>>> WSO2, Inc.; http://wso2.com, >>>> mobile: +94 71 4493085 >>>> >>>> >>> >> >> >> -- >> Thanks >> /subash >> >> *Subash Chaturanga* >> Senior Software Engineer :Integration TG; WSO2 Inc. http://wso2.com >> >> email: [email protected] >> blog: http://subashsdm.blogspot.com/ >> twitter: @subash89 >> phone: +9477 2225922 >> Lean . Enterprise . Middleware >> > > -- Thanks /subash *Subash Chaturanga* Senior Software Engineer :Integration TG; WSO2 Inc. http://wso2.com email: [email protected] blog: http://subashsdm.blogspot.com/ twitter: @subash89 phone: +9477 2225922 Lean . Enterprise . Middleware
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
