CacheLoader preload with region based marshalling
by Brian Stansberry
Not sure if this is a bug or not or just misconfiguration that the
JBCACHE-1358 fix exposed.
The cache used for JBAS FIELD granularity web sessions uses region based
marshalling and has a CacheLoader with <preload>/</preload>. Starting
the cache with anything in the persistent store results in failure.
This looks to be the cause of tons of regressions when trying to use
2.2.0.CR2 in AS 5.
The failure:
2008-06-03 21:21:35,363 INFO [org.jboss.cache.RPCManagerImpl] (RMI TCP
Connection(94)-127.0.0.1) Cache local address is 127.0.0.1:35029
2008-06-03 21:21:35,363 DEBUG
[org.jboss.cache.loader.CacheLoaderManager] (RMI TCP
Connection(94)-127.0.0.1) preloading transient state from cache loader
org.jboss.cache.loader.FileCacheLoader@18543c
2008-06-03 21:21:35,365 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,366 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,367 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,368 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,368 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,369 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,369 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,370 DEBUG
[org.jboss.cache.interceptors.ActivationInterceptor] (RMI TCP
Connection(94)-127.0.0.1) no children UnversionedNode[
/JSESSION/localhost/http-scoped-field/__JBossInternal__/lzRERFRa-nr46LmuwOxjeQ__/ATTRIBUTE/TEST_ID/_ID_/5c4o141-11g0p5-fh19wt1g-1-fh1amjdr-tl
data=[__SERIALIZED__, POJOCache.Status, POJOCache.PojoInstance, ]]
2008-06-03 21:21:35,370 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,371 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,371 DEBUG
[org.jboss.cache.marshall.CacheMarshaller210] (RMI TCP
Connection(94)-127.0.0.1) Region does not exist for Fqn null - not using
a context classloader.
2008-06-03 21:21:35,374 ERROR
[org.jboss.web.tomcat.service.deployers.TomcatDeployment] (RMI TCP
Connection(94)-127.0.0.1) Failed to setup clustering, clustering
disabled. Exception:
org.jboss.cache.CacheException: Unable to invoke method public void
org.jboss.cache.loader.CacheLoaderManager.preloadCache() throws
org.jboss.cache.CacheException on object instance
org.jboss.cache.loader.CacheLoaderManager@1427899
at
org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:127)
at
org.jboss.cache.factories.ComponentRegistry$PrioritizedMethod.invoke(ComponentRegistry.java:935)
at
org.jboss.cache.factories.ComponentRegistry.internalStart(ComponentRegistry.java:721)
at
org.jboss.cache.factories.ComponentRegistry.start(ComponentRegistry.java:585)
at
org.jboss.cache.invocation.CacheInvocationDelegate.start(CacheInvocationDelegate.java:268)
at
org.jboss.web.tomcat.service.session.JBossCacheManager.initCacheProxy(JBossCacheManager.java:277)
at
org.jboss.web.tomcat.service.session.JBossCacheManager.init(JBossCacheManager.java:244)
at
org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:375)
at
org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:139)
at
org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:431)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:112)
at org.jboss.web.deployers.WebModule.start(WebModule.java:90)
at sun.reflect.GeneratedMethodAccessor426.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at
org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy35.start(Unknown Source)
at
org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at
org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at
org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at
org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at
org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at
org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:271)
at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1394)
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:786)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:914)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:836)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:674)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:456)
at org.jboss.system.ServiceController.doChange(ServiceController.java:664)
at org.jboss.system.ServiceController.start(ServiceController.java:436)
at
org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:150)
at
org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:108)
at
org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at
org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at
org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:174)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:970)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:991)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:911)
at
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1394)
at
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:786)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:914)
at
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:836)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:674)
at
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:456)
at
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:594)
at
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:812)
at org.jboss.deployment.MainDeployer.redeploy(MainDeployer.java:587)
at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.jmx.connector.invoker.InvokerAdaptorService.invoke(InvokerAdaptorService.java:270)
at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140)
at
org.jboss.jmx.connector.invoker.SerializableInterceptor.invoke(SerializableInterceptor.java:74)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at
org.jboss.invocation.jrmp.server.JRMPProxyFactory.invoke(JRMPProxyFactory.java:179)
at sun.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at
org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:815)
at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:416)
at sun.reflect.GeneratedMethodAccessor235.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor409.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:123)
... 101 more
Caused by: org.jboss.cache.CacheException:
java.lang.ClassNotFoundException:
org.jboss.test.cluster.web.DeserializationSensor
at
org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:227)
at
org.jboss.cache.invocation.CacheInvocationDelegate.get(CacheInvocationDelegate.java:360)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:337)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preload(CacheLoaderManager.java:368)
at
org.jboss.cache.loader.CacheLoaderManager.preloadCache(CacheLoaderManager.java:310)
... 105 more
Caused by: java.lang.ClassNotFoundException:
org.jboss.test.cluster.web.DeserializationSensor
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:207)
at
org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1009)
at
org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:728)
at
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:372)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at
org.jboss.util.stream.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:62)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:540)
at
org.jboss.cache.marshall.CacheMarshaller200.populateFromStream(CacheMarshaller200.java:750)
at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallHashMap(CacheMarshaller200.java:713)
at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:571)
at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:513)
at
org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStreamRegionBased(CacheMarshaller200.java:202)
at
org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStream(CacheMarshaller200.java:126)
at
org.jboss.cache.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:326)
at
org.jboss.cache.loader.FileCacheLoader.doUnmarshall(FileCacheLoader.java:481)
at
org.jboss.cache.loader.AbstractCacheLoader.regionAwareUnmarshall(AbstractCacheLoader.java:223)
at
org.jboss.cache.loader.FileCacheLoader.loadAttributes(FileCacheLoader.java:434)
at org.jboss.cache.loader.FileCacheLoader.get(FileCacheLoader.java:201)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.loadData(CacheLoaderInterceptor.java:554)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.loadNode(CacheLoaderInterceptor.java:481)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:305)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:136)
at
org.jboss.cache.interceptors.ActivationInterceptor.visitGetKeyValueCommand(ActivationInterceptor.java:117)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.PessimisticLockInterceptor.handleGetKeyValueCommand(PessimisticLockInterceptor.java:310)
at
org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.visitGetKeyValueCommand(PostProcessingCommandInterceptor.java:228)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
at
org.jboss.cache.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:80)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
at
org.jboss.cache.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:80)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:266)
at
org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:253)
at
org.jboss.cache.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:80)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.CacheMgmtInterceptor.visitGetKeyValueCommand(CacheMgmtInterceptor.java:75)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at
org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:158)
at
org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:108)
at
org.jboss.cache.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:80)
at
org.jboss.cache.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:72)
at
org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:215)
... 117 more
http://jira.jboss.com/jira/browse/JBCACHE-1009 is a conceptually related
JIRA.
--
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry(a)redhat.com
16 years, 3 months
Iterator in Jboss cache
by Sumanta Seal
Hi,
I am a newcomer in JBoss world and have very little knowledge about JBoss Cache. I am having an Java application that uses JBoss cache to store some information. The application creates different nodes (having different names) inside the cache and keeps different information in each node.
It is implemented like this way,
MBeanServer server = MBeanServerLocator.locateJBoss();
TreeCacheMBean myCache = (TreeCacheMBean) MBeanProxyExt.create(TreeCacheMBean.class, <CacheServiceName>, server);
String node1 = <CacheName> + "1";
String node2 = <CacheName> + "2";
String node3 = <CacheName> + "3";
myCache.put(node1, <Key1>, <Value1>);
myCache.put(node2, <Key2>, <Value2>);
myCache.put(node3, <Key3>, <Value3>);
Now my question is, do JBoss Cache provides anything like iterator by which I can iterate these nodes inside the cache. Please note that, there may run another thread that will remove one or more of these nodes from the cache. So at the time of iteration my application does not know how many nodes present at that time.
If there is something like iterator JBoss cache provides, how can I use that and what jar files do I need for that. If such an iterator is not there in JBoss cache, what is the normal practise to implement an iterator like functionality ?
I need this very urgent. Please help me out regarding this ASAP.
Thanks,
Sumanta
Check out the all-new face of Yahoo! India. Go to http://in.yahoo.com/
16 years, 3 months
Re: SRC jars in Maven WAS: [jbosscache-dev] Packaging unit tests in distros
by Manik Surtani
Note that as of 3.0.0.BETA1 srcs will be in the Maven2 repo as well.
On 7 Jul 2008, at 17:14, Brian Stansberry wrote:
>
> I see JBC's maven build doesn't publish a jbosscache-core-X.X.X-
> sources.jar though. A source jar whose contents mirror the
> jbosscache-core-X.X.X.jar binary. That's very useful as a mavenized
> project depending on JBC will pull down that file to the local repo,
> where it's easy to tell your IDE to use it as the source. That to
> me handles the main use case for a source distribution.
--
Manik Surtani
Lead, JBoss Cache
manik(a)jboss.org
16 years, 3 months