Can JBoss Cache be used with JBoss EAP 6/7?

Solution Verified - Updated -

Issue

  • Can we use JBoss Cache with EAP 6? What about EAP 7?
  • We are migrating from EAP 4.x (or 5.x) and do not see the JBoss Cache related libraries.
  • We are upgrading our applications from JBoss 4.2 to JBoss 7.2. Where to find an alternative to replace an existing caching approach?
  • We are having an issue with our applications that were upgraded from JBoss EAP 5 to JBoss EAP 7.0.
2019-06-19 14:41:49,072 ERROR [org.jboss.cache.interceptors.TxInterceptor] (UpHandler (STATE_TRANSFER)) method invocation failed: org.jboss.cache.lock.TimeoutException: failure acquiring lock: fqn=/ASSIGNED_TO_USER/[CACID], caller=GlobalTransaction:<131.x.x.x:17800>:6368, lock=write owner=GlobalTransaction:<131.x.x.x:17800>:6347 (activeReaders=0, activeWriter=Thread[UpHandler (STATE_TRANSFER),5,JGroups threads], waitingReaders=0, waitingWriters=0, waitingUpgrader=0)
        at org.jboss.cache.Node.acquire(Node.java:500)
        at org.jboss.cache.interceptors.PessimisticLockInterceptor.acquireNodeLock(PessimisticLockInterceptor.java:381)
        at org.jboss.cache.interceptors.PessimisticLockInterceptor.lock(PessimisticLockInterceptor.java:309)
        at org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:183)
        at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
        at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
        at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
        at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:39)
        at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
        at org.jboss.cache.interceptors.TxInterceptor.replayModifications(TxInterceptor.java:554)
        at org.jboss.cache.interceptors.TxInterceptor.handlePessimisticPrepare(TxInterceptor.java:458)
        at org.jboss.cache.interceptors.TxInterceptor.handleRemotePrepare(TxInterceptor.java:324)
        at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:131)
        at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
        at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:183)
        at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5877)
        at org.jboss.cache.TreeCache._replicate(TreeCache.java:5176)
        at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
        at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:281)
        at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:650)
        at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:535)
        at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:358)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
        at org.jgroups.JChannel.up(JChannel.java:1091)
        at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
        at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
        at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
        at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:158)
        at org.jgroups.stack.UpHandler.run(Protocol.java:60)
Caused by: org.jboss.cache.lock.TimeoutException: write lock for /ASSIGNED_TO_USER/[CACID] could not be acquired after 10000 ms. Locks: Read lock owners: []
Write lock owner: GlobalTransaction:<131.x.x.x:17800>:6347
 (caller=GlobalTransaction:<131.x.x.x:17800>:6368, lock info: write owner=GlobalTransaction:<131.x.x.x:17800>:6347 (activeReaders=0, activeWriter=Thread[UpHandler (STATE_TRANSFER),5,JGroups threads], waitingReaders=0, waitingWriters=0, waitingUpgrader=0))
        at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:206)
        at org.jboss.cache.Node.acquireWriteLock(Node.java:529)
        at org.jboss.cache.Node.acquire(Node.java:476)
        ... 31 more
  • Looking for a replacement for org.jboss.cache.Cache JBoss EAP 5.1
  • Our legacy EAP 5 code uses classes org.jboss.cache.Cache to implement a cache. The legacy code uses classes from EAP 5 jars jboss-j2se.jar and jbosscache.jar. These jars and classes are not available in EAP 7. Is there a natural replacement for this in EAP 7?

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.x
    • 6.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In