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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content