Bundling Coherence cache - accessing through another application
744952Apr 6 2010 — edited Apr 12 2010Hi ,
I am trying to bundle coherence cache in a seperate bundle and trying to access through another CEP application.
I have followed the below link from CEP IDE Developer's Guide for Eclipse Release 11gR1 (11.1.1)
to do the configurations
http://download.oracle.com/docs/cd/E15523_01/doc.1111/e14301/cache.htm#insertedID4
Assembly file::
<wlevs:caching-system id="CacheSystem" provider="mycoherence" advertise="true">
</wlevs:caching-system>
<wlevs:factory provider-name="mycoherence" class="com.try.FactoryClass"/>
<wlevs:cache id="state_cache" advertise="true">
<wlevs:caching-system ref="CacheSystem"></wlevs:caching-system>
<wlevs:cache-loader ref="myLoaderCache"></wlevs:cache-loader>
<wlevs:cache-listener ref="bean" />
</wlevs:cache>
The class com.try.FactoryClass implements com.bea.wlevs.cache.spi.CachingSystem
And in the client application where i am trying to access the cache
i have used
<wlevs:processor id="processor_cache">
<wlevs:listener ref="channel1" />
*<wlevs:cache-source ref="cacheprovider:state_cache" />*
</wlevs:processor>
and in the same client application config.xml I have placed
<caching-system>
<name>CacheSystem</name>
<cache>
<name>state_cache</name>
</cache>
</caching-system>
In the tangosol-coherence-override.xml i have placed in server config folder
content is as follows ::
<coherence >
<cluster-config>
<member-identity>
<cluster-name>com.bea.wlevs.example.provider</cluster-name>
</member-identity>
<unicast-listener>
<well-known-addresses>
<socket-address id="1">
<address>localhost</address>
<port>9002</port>
</socket-address>
<socket-address id="2">
<address>localhost</address>
<port>9002</port>
</socket-address>
</well-known-addresses>
<address>localhost</address>
<port>9002</port>
</unicast-listener>
</cluster-config>
</coherence>
I am deploying cohrence application first later the client application which is trying to access that.
Initially both the applications got deployed after certain time I am getting below exceptions
Coherence application error::
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Warning> <org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor> <BEA-000000> <Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=CacheAccess, config=osgibundle:/META-INF/spring/*.xml)]>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Error> <org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor> <BEA-000000> <Unable to create application context for [CacheAccess], unsatisfied dependencies: Dependency on [(&(objectClass=com.bea.wlevs.cache.spi.CachingSystemFactory)(type=mycoherence))] (from bean [&com.bea.wlevs.spring.CachingSystemFactoryBean#mycoherence_provider#0])
org.springframework.context.ApplicationContextException: Application context initialization for 'CacheAccess' has timed out
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Error> <Deployment> <BEA-2045010> <The application context "CacheAccess" could not be started: org.springframework.context.ApplicationContextException: Application context initialization for 'CacheAccess' has timed out
org.springframework.context.ApplicationContextException: Application context initialization for 'CacheAccess' has timed out
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Notice> <Deployment> <BEA-2045001> <The application bundle "CacheAccess" was undeployed successfully>
Below in the exception that i got by the application which is trying to access the coherence cache
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Warning> <org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor> <BEA-000000> <Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=UseCache, config=osgibundle:/META-INF/spring/*.xml)]>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Error> <org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor> <BEA-000000> <Unable to create application context for [UseCache], unsatisfied dependencies: Dependency on [(&(objectClass=com.bea.wlevs.ede.spi.CacheStage)(&(|(id=state_cache)(id=wlevs_stage_proxy_for_state_cache))(application-id=cacheprovider)))] (from bean [&cacheprovider:state_cache])
org.springframework.context.ApplicationContextException: Application context initialization for 'UseCache' has timed out
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Error> <Deployment> <BEA-2045010> <The application context "UseCache" could not be started: org.springframework.context.ApplicationContextException: Application context initialization for 'UseCache' has timed out
org.springframework.context.ApplicationContextException: Application context initialization for 'UseCache' has timed out
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
>
<Apr 6, 2010 3:12:52 PM GMT+05:30> <Notice> <Deployment> <BEA-2045001> <The application bundle "UseCache" was undeployed successfully>
---------------------------------------------------------------------------------------------------------------------
Am i missing any more configurations
Is the approach that i am following is correct?
Any suggestions would be greatly appreciated!!