You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-users@jakarta.apache.org by Emilia Ipate <ei...@nl.swets.com> on 2007/06/19 17:54:16 UTC

jcs 1.2.7.9.2 remote cache server UnmarshalException

Hi, all!

 

 

I am currently using jcs 1.2.7.9.2 and I have 2 remote Cache Servers (a
Primary one, and a Failover one).

 

The JCS 1.2.7.9.2 says that the Remote Cache Server now holds byte
arrays, this normally means that the Remote Cache Server does not need
in its classpath the classes of the objects he holds.

 

But, everytime, I am trying to get a value (from the Remote Cache
Server) for a key that does not exist in Remote Cache Server, I get the
Exception below. So:

 

1. I get the exception everytime I am asking for a new key from the
Remote Cache Server (new key = the key is not on the Remote Server)

2. my application sees the Primary Remote Cache Server as being down, at
connects to the Failover Cache Server.

3. after a few seconds (2-4 seconds), the application connects back to
the Primary Remote Cache Server.

4. nl.swets.wise.framework.account.cache.AccountCacheKey is Serialized
and it is in the classpath of
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl

 

Here is the entire exception:

 

[6/19/07 17:22:49:109 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,109 [Servlet.Engine.Transports : 0] ERROR
org.apache.jcs.auxiliary.remote.RemoteCache  - Disabling remote cache
due to error: Failed to get [07391633  null null] from
[accountSettingsCache] 

java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 

      java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

      at java.lang.Throwable.<init>(Throwable.java)

      at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRem
oteCall.java:264)

      at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:240
)

      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:149)

      at
org.apache.jcs.auxiliary.remote.server.RemoteCacheServer_Stub.get(Unknow
n Source)

      at
org.apache.jcs.auxiliary.remote.RemoteCache.get(RemoteCache.java:249)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWait.get(RemoteCacheNoWait.
java:126)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade.get(RemoteCacheN
oWaitFacade.java:151)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:506
)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:413
)

      at org.apache.jcs.access.CacheAccess.get(CacheAccess.java:195)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCache.get(JCSCache.java)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCacheManager.getCacheObject(JC
SCacheManager.java)

      at
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl.getByAccount
ID(AccountSettingsBeanImpl.java)

      at
nl.swets.wise.framework.account.ejb.AccountMgmtBeanImpl.getAccountSettin
gs(AccountMgmtBeanImpl.java:211)

      at
nl.swets.wise.framework.user.ejb.UserManagementBeanImpl.login(UserManage
mentBeanImpl.java:1257)

      at
nl.swets.wise.framework.user.ejb.UserManagementBean.login(UserManagement
Bean.java:153)

      at
nl.swets.wise.framework.user.ejb.EJSRemoteStatelessUserManagement_3ad69d
3a.login(EJSRemoteStatelessUserManagement_3ad69d3a.java:200)

      at
nl.swets.wise.framework.user.ejb._UserManagement_Stub.login(_UserManagem
ent_Stub.java:482)

      at
nl.swets.wise.framework.user.ejb.UserManagementAccessBean.login(UserMana
gementAccessBean.java:87)

      at
nl.swets.wise.common.user.ui.LoginAction.execute(LoginAction.java:266)

      at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)

      at
nl.swets.wise.struts.SwetsRequestProcessor.processActionPerform(SwetsReq
uestProcessor.java:65)

      at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)

      at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

      at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:1019)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:592)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:204)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
25)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:286)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo
ke(CacheableInvocationContext.java:116)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:186)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
615)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)

Caused by: 

java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:270)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

Caused by: 

java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at java.net.URLClassLoader.findClass(URLClassLoader.java:376)

      at java.lang.ClassLoader.loadClass(ClassLoader.java)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

      at java.lang.Class.forName0(Native Method)

      at java.lang.Class.forName(Class.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java)

      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java)

      at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java)

      at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java)

      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java)

      at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject(ObjectInputStream.java)

      at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:313)

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:264)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

 

And here it connects to the Failover Remote Cache Server:

 

class load: org/apache/jcs/engine/ZombieCacheService

class load: org/apache/jcs/auxiliary/remote/ZombieRemoteCacheService

class load: org/apache/jcs/utils/struct/BoundedQueue

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheMonitor  - Notified of an
error. 

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Initiating failover, rcnf
= RemoteCacheNoWaitFacade: accountSettingsCache, rca = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1102]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Found facade, calling
failover 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - in failover
for 0 

class load: org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner

[6/19/07 17:22:49:156 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,156 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - Failed to
get. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Remote
cache FAILOVER RUNNING. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - fidx = 0
failovers.length = 2 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - stating at
failover i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1101] at failover index i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  -
RemoteCacheAttributes for failover = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1101]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1102] at failover index i = 1 

 

 

Might there be a bug in JCS 1.2.7.9.2 that generates the exception
above, something like:

-         the first time you request for a key, instead of returning
null, it tries to convert the empty by array to AccountCacheKey?

-         Does the JCS 1.2.7.9.2 still need the AccountCacheKey in it's
classpath even though it says that
(http://jakarta.apache.org/jcs/changes-report.html )"The remote cache
now sends a byte array to the server instead of the class. This allows
you to run the remote server without copies of your objects in its
classpath. This makes the remote server far easier to use." ???

 

Please give me an advise,

Emilia


RE: jcs 1.2.7.9.2 remote cache server UnmarshalException

Posted by Emilia Ipate <ei...@nl.swets.com>.
Aaron,

Just noticed: if we put the CacheKey classes in the Remote Cache Server
classpath, everything works fine. 

So, the Remote Cache Server holds as byte arrays only the CacheValues?
And for the CacheKeys the class is still needed in the classpath?


Emilia 

-----Original Message-----
From: Emilia Ipate 
Sent: Wednesday, June 20, 2007 9:41 AM
To: 'JCS Users List'
Subject: RE: jcs 1.2.7.9.2 remote cache server UnmarshalException 

Hi, Aaron!


Thank you for having a look at this problem. Below, you'll see the
cache.ccf files and I'm really curios if they are wrong.

1. Here is the Local cache.ccf:

# Config file created by CreateCacheConfigFiles Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :Windows Development Environment
#===================================================

# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=RC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=RC
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800

# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=RC
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=RC
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=RC
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800

# Cache Region overlapReportCache
jcs.region.overlapReportCache=RC
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=RC
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200

# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=RC
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
jcs.region.unwantedWordsCache=DC
jcs.region.unwantedWordsCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.unwantedWordsCache.cacheattributes.MaxObjects=1000
jcs.region.unwantedWordsCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.unwantedWordsCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.unwantedWordsCache.elementattributes.IdleTime=1000
jcs.region.unwantedWordsCache.elementattributes.IsEternal=false
jcs.region.unwantedWordsCache.elementattributes.IsLateral=true
jcs.region.unwantedWordsCache.elementattributes.IsRemote=false
jcs.region.unwantedWordsCache.elementattributes.IsSpool=true
jcs.region.unwantedWordsCache.elementattributes.MaxLifeSeconds=1000000


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory

# Remote Server definition
jcs.auxiliary.RC.attributes.FailoverServers=localhost:1101,localhost:110
2
jcs.auxiliary.RC.attributes.GetOnly=false
jcs.auxiliary.RC.attributes.GetTimeoutMillis=-1
jcs.auxiliary.RC.attributes.LocalPort=1201
jcs.auxiliary.RC.attributes.RemoveUponRemotePut=true
jcs.auxiliary.RC.attributes.RmiSocketFactoryTimeoutMillis=5000
jcs.auxiliary.RC.attributes.ThreadPoolName=remote_cache_client
jcs.auxiliary.RC.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheA
ttributes
jcs.auxiliary.RC=org.apache.jcs.auxiliary.remote.RemoteCacheFactory


# Default Thread pool definition
thread_pool.default.keepAliveTime=350000
thread_pool.default.boundarySize=2000
thread_pool.default.minimumPoolSize=4
thread_pool.default.whenBlockedPolicy=RUN
thread_pool.default.startUpSize=4
thread_pool.default.maximumPoolSize=150


# Remote Thread pool definition
thread_pool.remote_cache_client.keepAliveTime=350000
thread_pool.remote_cache_client.boundarySize=75
thread_pool.remote_cache_client.startUpSize=4
thread_pool.remote_cache_client.maximumPoolSize=150
thread_pool.remote_cache_client.whenBlockedPolicy=RUN
thread_pool.remote_cache_client.minimumPoolSize=25







2. Here is the cache.ccf for the Primary Remote Cache Server:

# Config file created by Custom Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :WIN Environment
#===================================================

# Registry used to register and provide the IRmiCacheService service.
registry.host=localhost
registry.port=1101
remote.cache.service.port=1101
remote.cluster.LocalClusterConsistency=true


# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=DC,RCluster
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=DC,RCluster
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800


# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=DC,RCluster
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=DC,RCluster
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=DC,RCluster
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800


# Cache Region overlapReportCache
jcs.region.overlapReportCache=DC,RCluster
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=DC,RCluster
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200


# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=DC,RCluster
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
# Cache region is only used local (notremote setting)


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory


jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1102
jcs.auxiliary.RCluster.attributes.GetOnly=false
jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RCluster.attributes=org.apache.jcs.auxiliary.remote.Remote
CacheAttributes
jcs.auxiliary.RCluster=org.apache.jcs.auxiliary.remote.RemoteCacheFactor
y







3. Here is the cache.ccf for the Failover Remote Cache Server:

# Config file created by Custom Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :WIN Environment
#===================================================

# Registry used to register and provide the IRmiCacheService service.
registry.host=localhost
registry.port=1102
remote.cache.service.port=1102
remote.cluster.LocalClusterConsistency=true


# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=DC,RCluster
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=DC,RCluster
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800


# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=DC,RCluster
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=DC,RCluster
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=DC,RCluster
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800


# Cache Region overlapReportCache
jcs.region.overlapReportCache=DC,RCluster
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=DC,RCluster
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200


# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=DC,RCluster
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
# Cache region is only used local (notremote setting)


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory


jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1101
jcs.auxiliary.RCluster.attributes.GetOnly=false
jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RCluster.attributes=org.apache.jcs.auxiliary.remote.Remote
CacheAttributes
jcs.auxiliary.RCluster=org.apache.jcs.auxiliary.remote.RemoteCacheFactor
y



-----Original Message-----
From: Smuts, Aaron [mailto:Aaron.Smuts@travelocity.com] 
Sent: Tuesday, June 19, 2007 10:51 PM
To: JCS Users List
Subject: RE: jcs 1.2.7.9.2 remote cache server UnmarshalException 

Send your cache.ccf files for the remote cache and local.  I think that
they are misconfigured.  It's trying to de-serialize the object for some
reason.

 

________________________________

From: Emilia Ipate [mailto:eipate@nl.swets.com] 
Sent: Tuesday, June 19, 2007 11:54 AM
To: jcs-users@jakarta.apache.org
Subject: jcs 1.2.7.9.2 remote cache server UnmarshalException 

 

Hi, all!

 

 

I am currently using jcs 1.2.7.9.2 and I have 2 remote Cache Servers (a
Primary one, and a Failover one).

 

The JCS 1.2.7.9.2 says that the Remote Cache Server now holds byte
arrays, this normally means that the Remote Cache Server does not need
in its classpath the classes of the objects he holds.

 

But, everytime, I am trying to get a value (from the Remote Cache
Server) for a key that does not exist in Remote Cache Server, I get the
Exception below. So:

 

1. I get the exception everytime I am asking for a new key from the
Remote Cache Server (new key = the key is not on the Remote Server)

2. my application sees the Primary Remote Cache Server as being down, at
connects to the Failover Cache Server.

3. after a few seconds (2-4 seconds), the application connects back to
the Primary Remote Cache Server.

4. nl.swets.wise.framework.account.cache.AccountCacheKey is Serialized
and it is in the classpath of
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl

 

Here is the entire exception:

 

[6/19/07 17:22:49:109 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,109 [Servlet.Engine.Transports : 0] ERROR
org.apache.jcs.auxiliary.remote.RemoteCache  - Disabling remote cache
due to error: Failed to get [07391633  null null] from
[accountSettingsCache] 

java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 

      java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

      at java.lang.Throwable.<init>(Throwable.java)

      at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRem
oteCall.java:264)

      at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:240
)

      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:149)

      at
org.apache.jcs.auxiliary.remote.server.RemoteCacheServer_Stub.get(Unknow
n Source)

      at
org.apache.jcs.auxiliary.remote.RemoteCache.get(RemoteCache.java:249)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWait.get(RemoteCacheNoWait.
java:126)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade.get(RemoteCacheN
oWaitFacade.java:151)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:506
)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:413
)

      at org.apache.jcs.access.CacheAccess.get(CacheAccess.java:195)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCache.get(JCSCache.java)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCacheManager.getCacheObject(JC
SCacheManager.java)

      at
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl.getByAccount
ID(AccountSettingsBeanImpl.java)

      at
nl.swets.wise.framework.account.ejb.AccountMgmtBeanImpl.getAccountSettin
gs(AccountMgmtBeanImpl.java:211)

      at
nl.swets.wise.framework.user.ejb.UserManagementBeanImpl.login(UserManage
mentBeanImpl.java:1257)

      at
nl.swets.wise.framework.user.ejb.UserManagementBean.login(UserManagement
Bean.java:153)

      at
nl.swets.wise.framework.user.ejb.EJSRemoteStatelessUserManagement_3ad69d
3a.login(EJSRemoteStatelessUserManagement_3ad69d3a.java:200)

      at
nl.swets.wise.framework.user.ejb._UserManagement_Stub.login(_UserManagem
ent_Stub.java:482)

      at
nl.swets.wise.framework.user.ejb.UserManagementAccessBean.login(UserMana
gementAccessBean.java:87)

      at
nl.swets.wise.common.user.ui.LoginAction.execute(LoginAction.java:266)

      at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)

      at
nl.swets.wise.struts.SwetsRequestProcessor.processActionPerform(SwetsReq
uestProcessor.java:65)

      at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)

      at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

      at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:1019)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:592)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:204)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
25)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:286)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo
ke(CacheableInvocationContext.java:116)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:186)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
615)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)

Caused by: 

java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:270)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

Caused by: 

java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at java.net.URLClassLoader.findClass(URLClassLoader.java:376)

      at java.lang.ClassLoader.loadClass(ClassLoader.java)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

      at java.lang.Class.forName0(Native Method)

      at java.lang.Class.forName(Class.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java)

      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java)

      at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java)

      at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java)

      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java)

      at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject(ObjectInputStream.java)

      at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:313)

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:264)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

 

And here it connects to the Failover Remote Cache Server:

 

class load: org/apache/jcs/engine/ZombieCacheService

class load: org/apache/jcs/auxiliary/remote/ZombieRemoteCacheService

class load: org/apache/jcs/utils/struct/BoundedQueue

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheMonitor  - Notified of an
error. 

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Initiating failover, rcnf
= RemoteCacheNoWaitFacade: accountSettingsCache, rca = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1102]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Found facade, calling
failover 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - in failover
for 0 

class load: org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner

[6/19/07 17:22:49:156 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,156 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - Failed to
get. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Remote
cache FAILOVER RUNNING. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - fidx = 0
failovers.length = 2 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - stating at
failover i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1101] at failover index i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  -
RemoteCacheAttributes for failover = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1101]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1102] at failover index i = 1 

 

 

Might there be a bug in JCS 1.2.7.9.2 that generates the exception
above, something like:

-         the first time you request for a key, instead of returning
null, it tries to convert the empty by array to AccountCacheKey?

-         Does the JCS 1.2.7.9.2 still need the AccountCacheKey in it's
classpath even though it says that
(http://jakarta.apache.org/jcs/changes-report.html )"The remote cache
now sends a byte array to the server instead of the class. This allows
you to run the remote server without copies of your objects in its
classpath. This makes the remote server far easier to use." ???

 

Please give me an advise,

Emilia


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


RE: jcs 1.2.7.9.2 remote cache server UnmarshalException

Posted by Emilia Ipate <ei...@nl.swets.com>.
Hi, Aaron!


Thank you for having a look at this problem. Below, you'll see the
cache.ccf files and I'm really curios if they are wrong.

1. Here is the Local cache.ccf:

# Config file created by CreateCacheConfigFiles Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :Windows Development Environment
#===================================================

# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=RC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=RC
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800

# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=RC
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=RC
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=RC
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800

# Cache Region overlapReportCache
jcs.region.overlapReportCache=RC
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=RC
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200

# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=RC
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
jcs.region.unwantedWordsCache=DC
jcs.region.unwantedWordsCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.unwantedWordsCache.cacheattributes.MaxObjects=1000
jcs.region.unwantedWordsCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.unwantedWordsCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.unwantedWordsCache.elementattributes.IdleTime=1000
jcs.region.unwantedWordsCache.elementattributes.IsEternal=false
jcs.region.unwantedWordsCache.elementattributes.IsLateral=true
jcs.region.unwantedWordsCache.elementattributes.IsRemote=false
jcs.region.unwantedWordsCache.elementattributes.IsSpool=true
jcs.region.unwantedWordsCache.elementattributes.MaxLifeSeconds=1000000


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory

# Remote Server definition
jcs.auxiliary.RC.attributes.FailoverServers=localhost:1101,localhost:110
2
jcs.auxiliary.RC.attributes.GetOnly=false
jcs.auxiliary.RC.attributes.GetTimeoutMillis=-1
jcs.auxiliary.RC.attributes.LocalPort=1201
jcs.auxiliary.RC.attributes.RemoveUponRemotePut=true
jcs.auxiliary.RC.attributes.RmiSocketFactoryTimeoutMillis=5000
jcs.auxiliary.RC.attributes.ThreadPoolName=remote_cache_client
jcs.auxiliary.RC.attributes=org.apache.jcs.auxiliary.remote.RemoteCacheA
ttributes
jcs.auxiliary.RC=org.apache.jcs.auxiliary.remote.RemoteCacheFactory


# Default Thread pool definition
thread_pool.default.keepAliveTime=350000
thread_pool.default.boundarySize=2000
thread_pool.default.minimumPoolSize=4
thread_pool.default.whenBlockedPolicy=RUN
thread_pool.default.startUpSize=4
thread_pool.default.maximumPoolSize=150


# Remote Thread pool definition
thread_pool.remote_cache_client.keepAliveTime=350000
thread_pool.remote_cache_client.boundarySize=75
thread_pool.remote_cache_client.startUpSize=4
thread_pool.remote_cache_client.maximumPoolSize=150
thread_pool.remote_cache_client.whenBlockedPolicy=RUN
thread_pool.remote_cache_client.minimumPoolSize=25







2. Here is the cache.ccf for the Primary Remote Cache Server:

# Config file created by Custom Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :WIN Environment
#===================================================

# Registry used to register and provide the IRmiCacheService service.
registry.host=localhost
registry.port=1101
remote.cache.service.port=1101
remote.cluster.LocalClusterConsistency=true


# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=DC,RCluster
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=DC,RCluster
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800


# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=DC,RCluster
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=DC,RCluster
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=DC,RCluster
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800


# Cache Region overlapReportCache
jcs.region.overlapReportCache=DC,RCluster
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=DC,RCluster
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200


# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=DC,RCluster
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
# Cache region is only used local (notremote setting)


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory


jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1102
jcs.auxiliary.RCluster.attributes.GetOnly=false
jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RCluster.attributes=org.apache.jcs.auxiliary.remote.Remote
CacheAttributes
jcs.auxiliary.RCluster=org.apache.jcs.auxiliary.remote.RemoteCacheFactor
y







3. Here is the cache.ccf for the Failover Remote Cache Server:

# Config file created by Custom Ant Task

#=====================ENVIRONMENT=====================
# Short Description:WIN
# Long Description :WIN Environment
#===================================================

# Registry used to register and provide the IRmiCacheService service.
registry.host=localhost
registry.port=1102
remote.cache.service.port=1102
remote.cluster.LocalClusterConsistency=true


# DEFAULT CACHE REGION
# sets the default aux value for any non configured caches
jcs.default=DC,RCluster
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=100
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IdleTime=1000
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsLateral=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.MaxLifeSeconds=600

# Cache Region accountDetailCache
jcs.region.accountDetailCache=DC,RCluster
jcs.region.accountDetailCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.accountDetailCache.cacheattributes.MaxObjects=750
jcs.region.accountDetailCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountDetailCache.cacheattributes.ShrinkerIntervalSeconds=30
0
jcs.region.accountDetailCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountDetailCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.accountDetailCache.elementattributes.IdleTime=1000
jcs.region.accountDetailCache.elementattributes.IsEternal=false
jcs.region.accountDetailCache.elementattributes.IsLateral=true
jcs.region.accountDetailCache.elementattributes.IsRemote=true
jcs.region.accountDetailCache.elementattributes.IsSpool=true
jcs.region.accountDetailCache.elementattributes.MaxLifeSeconds=1800


# Cache Region accountSettingsCache
jcs.region.accountSettingsCache=DC,RCluster
jcs.region.accountSettingsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.accountSettingsCache.cacheattributes.MaxObjects=750
jcs.region.accountSettingsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.accountSettingsCache.cacheattributes.ShrinkerIntervalSeconds=
300
jcs.region.accountSettingsCache.cacheattributes.UseMemoryShrinker=true
jcs.region.accountSettingsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.accountSettingsCache.elementattributes.IdleTime=1000
jcs.region.accountSettingsCache.elementattributes.IsEternal=false
jcs.region.accountSettingsCache.elementattributes.IsLateral=true
jcs.region.accountSettingsCache.elementattributes.IsRemote=true
jcs.region.accountSettingsCache.elementattributes.IsSpool=true
jcs.region.accountSettingsCache.elementattributes.MaxLifeSeconds=1800


# Cache Region dbSubscriptionsCache
jcs.region.dbSubscriptionsCache=DC,RCluster
jcs.region.dbSubscriptionsCache.cacheattributes=org.apache.jcs.engine.Co
mpositeCacheAttributes
jcs.region.dbSubscriptionsCache.cacheattributes.MaxObjects=1000
jcs.region.dbSubscriptionsCache.cacheattributes.MemoryCacheName=org.apac
he.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.dbSubscriptionsCache.elementattributes=org.apache.jcs.engine.
ElementAttributes
jcs.region.dbSubscriptionsCache.elementattributes.IdleTime=1000
jcs.region.dbSubscriptionsCache.elementattributes.IsEternal=false
jcs.region.dbSubscriptionsCache.elementattributes.IsLateral=true
jcs.region.dbSubscriptionsCache.elementattributes.IsRemote=true
jcs.region.dbSubscriptionsCache.elementattributes.IsSpool=true
jcs.region.dbSubscriptionsCache.elementattributes.MaxLifeSeconds=43200


# Cache Region genericObjectCache
jcs.region.genericObjectCache=DC,RCluster
jcs.region.genericObjectCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.genericObjectCache.cacheattributes.MaxObjects=1000
jcs.region.genericObjectCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.genericObjectCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.genericObjectCache.elementattributes.IdleTime=1000
jcs.region.genericObjectCache.elementattributes.IsEternal=false
jcs.region.genericObjectCache.elementattributes.IsLateral=true
jcs.region.genericObjectCache.elementattributes.IsRemote=true
jcs.region.genericObjectCache.elementattributes.IsSpool=true
jcs.region.genericObjectCache.elementattributes.MaxLifeSeconds=604800


# Cache Region overlapReportCache
jcs.region.overlapReportCache=DC,RCluster
jcs.region.overlapReportCache.cacheattributes=org.apache.jcs.engine.Comp
ositeCacheAttributes
jcs.region.overlapReportCache.cacheattributes.MaxObjects=500
jcs.region.overlapReportCache.cacheattributes.MemoryCacheName=org.apache
.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.overlapReportCache.elementattributes=org.apache.jcs.engine.El
ementAttributes
jcs.region.overlapReportCache.elementattributes.IdleTime=1000
jcs.region.overlapReportCache.elementattributes.IsEternal=false
jcs.region.overlapReportCache.elementattributes.IsLateral=true
jcs.region.overlapReportCache.elementattributes.IsRemote=true
jcs.region.overlapReportCache.elementattributes.IsSpool=true
jcs.region.overlapReportCache.elementattributes.MaxLifeSeconds=1209600


# Cache Region priceCache
jcs.region.priceCache=DC,RCluster
jcs.region.priceCache.cacheattributes=org.apache.jcs.engine.CompositeCac
heAttributes
jcs.region.priceCache.cacheattributes.MaxObjects=5000
jcs.region.priceCache.cacheattributes.MemoryCacheName=org.apache.jcs.eng
ine.memory.lru.LRUMemoryCache
jcs.region.priceCache.cacheattributes.ShrinkerIntervalSeconds=300
jcs.region.priceCache.cacheattributes.UseMemoryShrinker=true
jcs.region.priceCache.elementattributes=org.apache.jcs.engine.ElementAtt
ributes
jcs.region.priceCache.elementattributes.IdleTime=1000
jcs.region.priceCache.elementattributes.IsEternal=false
jcs.region.priceCache.elementattributes.IsLateral=true
jcs.region.priceCache.elementattributes.IsRemote=true
jcs.region.priceCache.elementattributes.IsSpool=true
jcs.region.priceCache.elementattributes.MaxLifeSeconds=7200


# Cache Region publicationScheduleCache
jcs.region.publicationScheduleCache=DC,RCluster
jcs.region.publicationScheduleCache.cacheattributes=org.apache.jcs.engin
e.CompositeCacheAttributes
jcs.region.publicationScheduleCache.cacheattributes.MaxObjects=4000
jcs.region.publicationScheduleCache.cacheattributes.MemoryCacheName=org.
apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.publicationScheduleCache.cacheattributes.ShrinkerIntervalSeco
nds=300
jcs.region.publicationScheduleCache.cacheattributes.UseMemoryShrinker=tr
ue
jcs.region.publicationScheduleCache.elementattributes=org.apache.jcs.eng
ine.ElementAttributes
jcs.region.publicationScheduleCache.elementattributes.IdleTime=1000
jcs.region.publicationScheduleCache.elementattributes.IsEternal=false
jcs.region.publicationScheduleCache.elementattributes.IsLateral=true
jcs.region.publicationScheduleCache.elementattributes.IsRemote=true
jcs.region.publicationScheduleCache.elementattributes.IsSpool=true
jcs.region.publicationScheduleCache.elementattributes.MaxLifeSeconds=100
0


# Cache Region unwantedWordsCache
# Cache region is only used local (notremote setting)


# Primary Disk Cache-- faster than the rest because of memory key
storage
jcs.auxiliary.DC.attributes.DiskPath=logs/rafNA
jcs.auxiliary.DC.attributes.MaxKeySize=500000
jcs.auxiliary.DC.attributes.MaxPurgatorySize=100000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=50000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=-1
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory


jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1101
jcs.auxiliary.RCluster.attributes.GetOnly=false
jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RCluster.attributes=org.apache.jcs.auxiliary.remote.Remote
CacheAttributes
jcs.auxiliary.RCluster=org.apache.jcs.auxiliary.remote.RemoteCacheFactor
y



-----Original Message-----
From: Smuts, Aaron [mailto:Aaron.Smuts@travelocity.com] 
Sent: Tuesday, June 19, 2007 10:51 PM
To: JCS Users List
Subject: RE: jcs 1.2.7.9.2 remote cache server UnmarshalException 

Send your cache.ccf files for the remote cache and local.  I think that
they are misconfigured.  It's trying to de-serialize the object for some
reason.

 

________________________________

From: Emilia Ipate [mailto:eipate@nl.swets.com] 
Sent: Tuesday, June 19, 2007 11:54 AM
To: jcs-users@jakarta.apache.org
Subject: jcs 1.2.7.9.2 remote cache server UnmarshalException 

 

Hi, all!

 

 

I am currently using jcs 1.2.7.9.2 and I have 2 remote Cache Servers (a
Primary one, and a Failover one).

 

The JCS 1.2.7.9.2 says that the Remote Cache Server now holds byte
arrays, this normally means that the Remote Cache Server does not need
in its classpath the classes of the objects he holds.

 

But, everytime, I am trying to get a value (from the Remote Cache
Server) for a key that does not exist in Remote Cache Server, I get the
Exception below. So:

 

1. I get the exception everytime I am asking for a new key from the
Remote Cache Server (new key = the key is not on the Remote Server)

2. my application sees the Primary Remote Cache Server as being down, at
connects to the Failover Cache Server.

3. after a few seconds (2-4 seconds), the application connects back to
the Primary Remote Cache Server.

4. nl.swets.wise.framework.account.cache.AccountCacheKey is Serialized
and it is in the classpath of
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl

 

Here is the entire exception:

 

[6/19/07 17:22:49:109 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,109 [Servlet.Engine.Transports : 0] ERROR
org.apache.jcs.auxiliary.remote.RemoteCache  - Disabling remote cache
due to error: Failed to get [07391633  null null] from
[accountSettingsCache] 

java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 

      java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

      at java.lang.Throwable.<init>(Throwable.java)

      at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRem
oteCall.java:264)

      at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:240
)

      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:149)

      at
org.apache.jcs.auxiliary.remote.server.RemoteCacheServer_Stub.get(Unknow
n Source)

      at
org.apache.jcs.auxiliary.remote.RemoteCache.get(RemoteCache.java:249)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWait.get(RemoteCacheNoWait.
java:126)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade.get(RemoteCacheN
oWaitFacade.java:151)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:506
)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:413
)

      at org.apache.jcs.access.CacheAccess.get(CacheAccess.java:195)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCache.get(JCSCache.java)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCacheManager.getCacheObject(JC
SCacheManager.java)

      at
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl.getByAccount
ID(AccountSettingsBeanImpl.java)

      at
nl.swets.wise.framework.account.ejb.AccountMgmtBeanImpl.getAccountSettin
gs(AccountMgmtBeanImpl.java:211)

      at
nl.swets.wise.framework.user.ejb.UserManagementBeanImpl.login(UserManage
mentBeanImpl.java:1257)

      at
nl.swets.wise.framework.user.ejb.UserManagementBean.login(UserManagement
Bean.java:153)

      at
nl.swets.wise.framework.user.ejb.EJSRemoteStatelessUserManagement_3ad69d
3a.login(EJSRemoteStatelessUserManagement_3ad69d3a.java:200)

      at
nl.swets.wise.framework.user.ejb._UserManagement_Stub.login(_UserManagem
ent_Stub.java:482)

      at
nl.swets.wise.framework.user.ejb.UserManagementAccessBean.login(UserMana
gementAccessBean.java:87)

      at
nl.swets.wise.common.user.ui.LoginAction.execute(LoginAction.java:266)

      at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)

      at
nl.swets.wise.struts.SwetsRequestProcessor.processActionPerform(SwetsReq
uestProcessor.java:65)

      at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)

      at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

      at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:1019)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:592)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:204)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
25)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:286)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo
ke(CacheableInvocationContext.java:116)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:186)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
615)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)

Caused by: 

java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:270)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

Caused by: 

java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at java.net.URLClassLoader.findClass(URLClassLoader.java:376)

      at java.lang.ClassLoader.loadClass(ClassLoader.java)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

      at java.lang.Class.forName0(Native Method)

      at java.lang.Class.forName(Class.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java)

      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java)

      at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java)

      at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java)

      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java)

      at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject(ObjectInputStream.java)

      at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:313)

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:264)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

 

And here it connects to the Failover Remote Cache Server:

 

class load: org/apache/jcs/engine/ZombieCacheService

class load: org/apache/jcs/auxiliary/remote/ZombieRemoteCacheService

class load: org/apache/jcs/utils/struct/BoundedQueue

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheMonitor  - Notified of an
error. 

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Initiating failover, rcnf
= RemoteCacheNoWaitFacade: accountSettingsCache, rca = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1102]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Found facade, calling
failover 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - in failover
for 0 

class load: org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner

[6/19/07 17:22:49:156 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,156 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - Failed to
get. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Remote
cache FAILOVER RUNNING. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - fidx = 0
failovers.length = 2 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - stating at
failover i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1101] at failover index i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  -
RemoteCacheAttributes for failover = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1101]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1102] at failover index i = 1 

 

 

Might there be a bug in JCS 1.2.7.9.2 that generates the exception
above, something like:

-         the first time you request for a key, instead of returning
null, it tries to convert the empty by array to AccountCacheKey?

-         Does the JCS 1.2.7.9.2 still need the AccountCacheKey in it's
classpath even though it says that
(http://jakarta.apache.org/jcs/changes-report.html )"The remote cache
now sends a byte array to the server instead of the class. This allows
you to run the remote server without copies of your objects in its
classpath. This makes the remote server far easier to use." ???

 

Please give me an advise,

Emilia


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


RE: jcs 1.2.7.9.2 remote cache server UnmarshalException

Posted by "Smuts, Aaron" <Aa...@travelocity.com>.
Send your cache.ccf files for the remote cache and local.  I think that
they are misconfigured.  It's trying to de-serialize the object for some
reason.

 

________________________________

From: Emilia Ipate [mailto:eipate@nl.swets.com] 
Sent: Tuesday, June 19, 2007 11:54 AM
To: jcs-users@jakarta.apache.org
Subject: jcs 1.2.7.9.2 remote cache server UnmarshalException 

 

Hi, all!

 

 

I am currently using jcs 1.2.7.9.2 and I have 2 remote Cache Servers (a
Primary one, and a Failover one).

 

The JCS 1.2.7.9.2 says that the Remote Cache Server now holds byte
arrays, this normally means that the Remote Cache Server does not need
in its classpath the classes of the objects he holds.

 

But, everytime, I am trying to get a value (from the Remote Cache
Server) for a key that does not exist in Remote Cache Server, I get the
Exception below. So:

 

1. I get the exception everytime I am asking for a new key from the
Remote Cache Server (new key = the key is not on the Remote Server)

2. my application sees the Primary Remote Cache Server as being down, at
connects to the Failover Cache Server.

3. after a few seconds (2-4 seconds), the application connects back to
the Primary Remote Cache Server.

4. nl.swets.wise.framework.account.cache.AccountCacheKey is Serialized
and it is in the classpath of
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl

 

Here is the entire exception:

 

[6/19/07 17:22:49:109 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,109 [Servlet.Engine.Transports : 0] ERROR
org.apache.jcs.auxiliary.remote.RemoteCache  - Disabling remote cache
due to error: Failed to get [07391633  null null] from
[accountSettingsCache] 

java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 

      java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

      at java.lang.Throwable.<init>(Throwable.java)

      at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRem
oteCall.java:264)

      at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:240
)

      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:149)

      at
org.apache.jcs.auxiliary.remote.server.RemoteCacheServer_Stub.get(Unknow
n Source)

      at
org.apache.jcs.auxiliary.remote.RemoteCache.get(RemoteCache.java:249)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWait.get(RemoteCacheNoWait.
java:126)

      at
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade.get(RemoteCacheN
oWaitFacade.java:151)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:506
)

      at
org.apache.jcs.engine.control.CompositeCache.get(CompositeCache.java:413
)

      at org.apache.jcs.access.CacheAccess.get(CacheAccess.java:195)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCache.get(JCSCache.java)

      at
nl.swets.wise.framework.core.cache.JCS.JCSCacheManager.getCacheObject(JC
SCacheManager.java)

      at
nl.swets.wise.framework.account.ejb.AccountSettingsBeanImpl.getByAccount
ID(AccountSettingsBeanImpl.java)

      at
nl.swets.wise.framework.account.ejb.AccountMgmtBeanImpl.getAccountSettin
gs(AccountMgmtBeanImpl.java:211)

      at
nl.swets.wise.framework.user.ejb.UserManagementBeanImpl.login(UserManage
mentBeanImpl.java:1257)

      at
nl.swets.wise.framework.user.ejb.UserManagementBean.login(UserManagement
Bean.java:153)

      at
nl.swets.wise.framework.user.ejb.EJSRemoteStatelessUserManagement_3ad69d
3a.login(EJSRemoteStatelessUserManagement_3ad69d3a.java:200)

      at
nl.swets.wise.framework.user.ejb._UserManagement_Stub.login(_UserManagem
ent_Stub.java:482)

      at
nl.swets.wise.framework.user.ejb.UserManagementAccessBean.login(UserMana
gementAccessBean.java:87)

      at
nl.swets.wise.common.user.ui.LoginAction.execute(LoginAction.java:266)

      at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)

      at
nl.swets.wise.struts.SwetsRequestProcessor.processActionPerform(SwetsReq
uestProcessor.java:65)

      at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)

      at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

      at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)

      at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)

      at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)

      at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)

      at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)

      at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:1019)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:592)

      at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:204)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1
25)

      at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:286)

      at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)

      at
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo
ke(CacheableInvocationContext.java:116)

      at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:186)

      at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)

      at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)

      at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
615)

      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)

Caused by: 

java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: 

      java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:270)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

Caused by: 

java.lang.ClassNotFoundException:
nl.swets.wise.framework.account.cache.AccountCacheKey

      at java.net.URLClassLoader.findClass(URLClassLoader.java:376)

      at java.lang.ClassLoader.loadClass(ClassLoader.java)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

      at java.lang.Class.forName0(Native Method)

      at java.lang.Class.forName(Class.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java)

      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java)

      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java)

      at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java)

      at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java)

      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java)

      at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java)

      at java.io.ObjectInputStream.readObject(ObjectInputStream.java)

      at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:313)

      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:264)

      at sun.rmi.transport.Transport$1.run(Transport.java:164)

      at java.security.AccessController.doPrivileged1(Native Method)

      at
java.security.AccessController.doPrivileged(AccessController.java:389)

      at sun.rmi.transport.Transport.serviceCall(Transport.java:160)

      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:505)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTr
ansport.java:837)

      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
va:911)

      at java.lang.Thread.run(Thread.java:568)

 

And here it connects to the Failover Remote Cache Server:

 

class load: org/apache/jcs/engine/ZombieCacheService

class load: org/apache/jcs/auxiliary/remote/ZombieRemoteCacheService

class load: org/apache/jcs/utils/struct/BoundedQueue

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheMonitor  - Notified of an
error. 

[6/19/07 17:22:49:124 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,124 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Initiating failover, rcnf
= RemoteCacheNoWaitFacade: accountSettingsCache, rca = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1102]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCache  - Found facade, calling
failover 

[6/19/07 17:22:49:140 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,140 [Servlet.Engine.Transports : 0] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - in failover
for 0 

class load: org/apache/jcs/auxiliary/remote/RemoteCacheFailoverRunner

[6/19/07 17:22:49:156 CEST] 4edd4edd SystemOut     O 2007-06-19
17:22:49,156 [Servlet.Engine.Transports : 0] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheNoWaitFacade  - Failed to
get. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] INFO
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Remote
cache FAILOVER RUNNING. 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - fidx = 0
failovers.length = 2 

[6/19/07 17:22:49:156 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - stating at
failover i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,156 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1101] at failover index i = 0 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  -
RemoteCacheAttributes for failover = 

 RemoteCacheAttributes 

 remoteHost = [localhost]

 remotePort = [1101]

 cacheName = [accountSettingsCache]

 removeUponRemotePut = [true]

 getOnly = [false]

 receive = [true]

 getTimeoutMillis = [-1]

 threadPoolName = [remote_cache_client]

 remoteType = [0]

 localClusterConsistency = [false]

 zombieQueueMaxSize = [1000] 

[6/19/07 17:22:49:171 CEST] 3e9e3e9e SystemOut     O 2007-06-19
17:22:49,171 [Thread-28] DEBUG
org.apache.jcs.auxiliary.remote.RemoteCacheFailoverRunner  - Trying
server [localhost:1102] at failover index i = 1 

 

 

Might there be a bug in JCS 1.2.7.9.2 that generates the exception
above, something like:

-         the first time you request for a key, instead of returning
null, it tries to convert the empty by array to AccountCacheKey?

-         Does the JCS 1.2.7.9.2 still need the AccountCacheKey in it's
classpath even though it says that
(http://jakarta.apache.org/jcs/changes-report.html )"The remote cache
now sends a byte array to the server instead of the class. This allows
you to run the remote server without copies of your objects in its
classpath. This makes the remote server far easier to use." ???

 

Please give me an advise,

Emilia