Hi,

A little over a year ago, I went through a process setting up terracotta
caching server for an application that is using cf clustering.. three
instances of coldfusion powering the application, and I wanted to be able
to efficiently cache data between instances.
This worked really well, but now I'm more or less disassocaited with the
company and they've asked me to set up TerraCotta again on their new
server, which is running Coldfusion 10.

Things are different, of course, but much the same....

Here's what I've done.  I installed the latest version of TerraCotta open
source (3.7.5) which comes with a newer version of ehcache.

I copied all these jar files into each instances libf older and renamed any
older versions with a .old extension

ehcache-core-2.6.6.jar
ehcache-terracotta-2.6.6.jar
slf4j-api-1.6.1.jar
slf4j-jdk14-1.6.1.jar
slf4j-log4j12-1.6.1.jar
terracotta-toolkit-1.6-runtime-5.5.0.jar

Then modified the ehcache.xml as follows:

I added this line above my defaultcache:

<terracottaConfig url="http://localhost:9510"; rejoin="true" />

I added this section BELOW my defaultCache, which essentially adds a new
cache region named "distributedCache"

<cache
name="distributedCache"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="86400"
timeToLiveSeconds="86400"
overflowToDisk="false"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="3600"
memoryStoreEvictionPolicy="LRU"
clearOnFlush="true">
<terracotta clustered="true" >
<nonstop immediateTimeout="true">
<timeoutBehavior type="noop" />
</nonstop>
</terracotta>
</cache>

Now that I've done all this, I did some testing with a cf page that looks
like this... if the request is made on instance 2, put something in the
cache, then retrieve it and display it.  If it's on another instance, just
retrieve the value and display it.

<cache
name="distributedCache"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="86400"
timeToLiveSeconds="86400"
overflowToDisk="false"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="3600"
memoryStoreEvictionPolicy="LRU"
clearOnFlush="true">
<terracotta clustered="true" >
<nonstop immediateTimeout="true">
<timeoutBehavior type="noop" />
</nonstop>
</terracotta>
</cache>


This doesn't fail, but it doesn't appear to be using the terracotta server,
because the item is not available on the other instances.

I don't know where to go from here.

As always, your combined help is appreciated!

Rick Root

-- 
*The beatings will continue until morale improves.*


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356797
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to