[Logo] Terracotta Discussion Forums
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Messages posted by: jackson0  XML
Profile for jackson0 -> Messages posted by jackson0 [35] Go to Page: 1, 2, 3 Next 
Author Message
Thank klalithr. It worked :)
I use Terracoota 3.5.4 with Liferay 6.1 GA2 (Tomcat 7.0.27). I integrate Quartz with Liferay as follows:
Step 1: copy quartz-all-2.1.2.jar and quartz-terracotta-2.1.2.jar to ROOT/WEB-INF/lib
Step 2: create file quartz.properties in ROOT/WEB-INF/classes
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

Step 3: insert
org.quartz.jobStore.class = org.terracotta.quartz.TerracottaJobStore
org.quartz.jobStore.tcConfigUrl = 192.168.2.53:9510

in portal-ext.properties
Step 4:
insert in /ROOT/WEB-INF/web.xml
<servlet>
<display-name>Quartz Initializer Servlet</display-name>
<servlet-name>QuartzInitializer</servlet-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>


Log startup Liferay:

2012-10-19 06:55:49,090 INFO - Terracotta 3.5.4, as of 20111212-111224 (Revision 19290 by cruise@rh5vmo100 from 3.5.4)
2012-10-19 06:55:49,762 INFO - Successfully loaded base configuration from server at '192.168.2.53:9510'.
2012-10-19 06:55:49,885 INFO - Successfully loaded base configuration from file at '/opt/liferay/tomcat-7.0.27/temp/tc-config7043049376664312287.xml'.
2012-10-19 06:55:50,071 INFO - Log file: '/home/administrator/terracotta/client-logs/terracotta-client.log'.
2012-10-19 06:55:57,306 INFO - Connection successfully established to server at 192.168.2.53:9510
Starting Liferay Portal Community Edition 6.1.1 CE GA2 (Paton / Build 6101 / July 31, 2012)
06:57:14,841 INFO [pool-2-thread-1][BaseDB:455] Database does not support case sensitive queries
06:57:20,700 INFO [pool-2-thread-1][ServerDetector:154] Server supports hot deploy
06:57:20,705 INFO [pool-2-thread-1][PluginPackageUtil:1030] Reading plugin package for the root context
06:57:24,407 INFO [pool-2-thread-1][AutoDeployDir:106] Auto deploy scanner started for /opt/liferay/deploy
Oct 19, 2012 6:57:46 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'Remoting Servlet'
Oct 19, 2012 6:57:51 AM org.apache.catalina.core.ApplicationContext log
INFO: QuartzInitializer: Quartz Initializer Servlet loaded, initializing Scheduler...
Oct 19, 2012 6:57:51 AM org.apache.catalina.core.ApplicationContext log
INFO: QuartzInitializer: Scheduler has been started...
Oct 19, 2012 6:57:51 AM org.apache.catalina.core.ApplicationContext log
INFO: QuartzInitializer: Storing the Quartz Scheduler Factory in the servlet context at key: org.quartz.impl.StdSchedulerFactory.KEY
Oct 19, 2012 6:57:51 AM org.apache.catalina.startup.HostConfig deployDirectory

Note: i have run Ehcache in Terracotta
Quartz not run ???

Please help me! Thank
Sorry because English not good.
hi troya.
the steps you do is right.
But tomcat1 and tomcat2 must load balancer if you want shutdown tomcat1 and automatic login tomcat2
Hi troya, I think you misunderstood the session in terracotta, I used to think like that.
Session in terracotta is responsible for store session.
If tomcat1 and tomcat2 joined Terracotta server, if tomcat1 and tomcat2 load balancer then when tomcat1 shutdown, you not login again on tomcat2.
Of if tomcat1 and tomcat2 not load balancer, when tomcat1 shutdown, you not login again tomcat1 when server tomcat1 startup.

Sorry for English not good.
Close topic, thank.
Close topic, thank.
Close topic. Thank.
Thank klalithr.
But i don't use ehcache.xml, it not work with Liferay.
I checked in Terracotta 3.6.1 see hibernate-core-3.3.1.GA.jar

I follow instruction:
Code:
1. Remove ehcache.jar that is bundled with Liferay (located in TOMCAT_HOME/webapps/ROOT/WEB-INF/lib)
     2. Copy all jars in TERRACOTTA_HOME/ehcache/lib to TOMCAT_HOME/webapps/ROOT/WEB-INF/lib
     3. Copy TERRACOTTA_HOME/common/terracotta-toolkit-1.0-runtime-<version>.jar to TOMCAT_HOME/webapps/ROOT/WEB-INF/lib
     4. Create my-ehcache folder to TOMCAT_HOME/webapps/ROOT/WEB-INF/classes
     5. Create a hibernate-terracotta.xml and a liferay-multi-vm-terracotta.xml.
     6. Adjust terracottaConfig in hibernate-terracotta.xml and liferay-multi-vm-terracotta.xml to point to your Terracotta servers. Like this: <terracottaConfig url="localhost:9510"/>
     7. Add following properties to your portal-ext.properties file:
     ehcache.multi.vm.config.location=/my-ehcache/liferay-multi-vm-terracotta.xml
     
net.sf.ehcache.configurationResourceName=/my-ehcache/hibernate-terracotta.xml
     



Content hibernate-terracotta.xml

Code:
<!--
 This configuration is optimized for Terracotta DSO. The attribute
 maxElementsInMemory has been increased to account for the capabilities that
 Terracotta provides.
 -->
 
 <ehcache name="myCache" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" monitoring="autodetect">
 
 	<defaultCache
 		maxElementsInMemory="100000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</defaultCache>
 	<cache
 		name="org.hibernate.cache.UpdateTimestampsCache"
 		maxElementsInMemory="100000"
 		eternal="true"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 	<cache
 		name="com.liferay.portal.model.impl.UserImpl"
 		maxElementsInMemory="100000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 
 	<terracottaConfig url="192.168.2.202:9510"/>
 </ehcache>


Content liferay-multi-vm-terracotta.xml:
Code:
<ehcache name="liferay-multi-vm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" monitoring="autodetect">
 
 	<!--
 	Caches in this file are clustered via terracotta.
 	-->
 
 	<defaultCache
 		maxElementsInMemory="10000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</defaultCache>
 	<cache
 		name="com.liferay.portal.security.permission.PermissionCacheUtil"
 		maxElementsInMemory="10000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 	<cache
 		name="com.liferay.portal.service.impl.PortletPreferencesLocalUtil"
 		maxElementsInMemory="10000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 	<cache
 		name="com.liferay.portal.servlet.filters.cache.CacheUtil"
 		maxElementsInMemory="1000"
 		eternal="false"
 		timeToLiveSeconds="3600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 	<cache
 		name="com.liferay.portlet.calendar.service.impl.CalEventLocalUtil"
 		maxElementsInMemory="10000"
 		eternal="false"
         timeToIdleSeconds="600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 	<cache
 		name="com.liferay.portlet.journalcontent.util.JournalContent"
 		maxElementsInMemory="1000"
 		eternal="false"
 		timeToLiveSeconds="3600"
 		overflowToDisk="false"
 	>
 		<terracotta />
 	</cache>
 
 	<terracottaConfig url="192.168.2.202:9510"/>
 </ehcache>


leilamm wrote:



ERROR - Terracotta license key is required for Enterprise capabilities. Please place terracotta-license.key in Terracotta installed directory or in resource path. You could also specify it through system property -Dcom.tc.productkey.path=/path/to/key


 


You can add key to /lib/ application.
I use Tomcat 7 (Liferay Portal 6.1), Terracotta 3.6.1, Ehcache 2.5.1
I create cluster Liferay with Terracotta ehcache.
Startup liferay Ok
Code:
Jul 4, 2012 11:30:41 AM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["http-bio-8080"]
 Jul 4, 2012 11:30:41 AM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["ajp-bio-8009"]
 Jul 4, 2012 11:30:41 AM org.apache.catalina.startup.Catalina start
 INFO: Server startup in 130335 ms

Terracotta Developer Console


But website error:

Code:
HTTP Status 500 -
 
 type Exception report
 
 message
 
 description The server encountered an internal error () that prevented it from fulfilling this request.
 
 exception
 
 javax.servlet.ServletException: Filter execution threw an exception
 root cause
 
 java.lang.AbstractMethodError: com.liferay.portal.cache.ehcache.ModifiableEhcacheWrapper.setPinned(Ljava/lang/Object;Z)V
 	net.sf.ehcache.hibernate.regions.EhcacheTransactionalDataRegion.put(EhcacheTransactionalDataRegion.java:132)
 	net.sf.ehcache.hibernate.strategy.AbstractReadWriteEhcacheAccessStrategy.putFromLoad(AbstractReadWriteEhcacheAccessStrategy.java:93)
 	net.sf.ehcache.hibernate.nonstop.NonstopAwareEntityRegionAccessStrategy.putFromLoad(NonstopAwareEntityRegionAccessStrategy.java:180)
 	org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:195)
 	org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:982)
 	org.hibernate.loader.Loader.doQuery(Loader.java:857)
 	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
 	org.hibernate.loader.Loader.loadEntity(Loader.java:2037)
 	org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
 	org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
 	org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3293)
 	org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
 	org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
 	org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
 	org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:269)
 	org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
 	org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
 	org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)
 	org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)
 	com.liferay.portal.dao.orm.hibernate.SessionImpl.get(SessionImpl.java:128)
 	com.liferay.portal.kernel.dao.orm.ClassLoaderSession.get(ClassLoaderSession.java:237)
 	com.liferay.portal.service.persistence.CompanyPersistenceImpl.fetchByPrimaryKey(CompanyPersistenceImpl.java:525)
 	com.liferay.portal.service.persistence.CompanyPersistenceImpl.findByPrimaryKey(CompanyPersistenceImpl.java:475)
 	com.liferay.portal.service.impl.CompanyLocalServiceImpl.getCompanyById(CompanyLocalServiceImpl.java:602)
 	sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
 	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 	java.lang.reflect.Method.invoke(Method.java:616)
 	com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112)
 	com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
 	com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
 	com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
 	$Proxy17.getCompanyById(Unknown Source)
 	com.liferay.portal.service.CompanyLocalServiceUtil.getCompanyById(CompanyLocalServiceUtil.java:434)
 	com.liferay.portal.util.PortalInstances._getCompanyId(PortalInstances.java:172)
 	com.liferay.portal.util.PortalInstances.getCompanyId(PortalInstances.java:70)
 	com.liferay.portal.servlet.filters.absoluteredirects.AbsoluteRedirectsFilter.doFilterTry(AbsoluteRedirectsFilter.java:59)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:182)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
 	org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
 	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
 note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

I don't use Ehcache < 2.5, because Terracotta supported Tomcat 7 from version Terracotta 3.6.
Hi.
"Error: Another CacheManager with same name 'myCache' already exists in the same VM."
I still have not fix error this: (.
I check in Liferay, not see hibernate-spring.xml.
I don't know create Cache managers

Where I should put this code snippet to configurre ?
Code:
<bean id="cacheManager"
       class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
       p:shared="true"/>
I have Liferay 6.1 use Tomcat7.
I want cluster Liferay with Sessions Terracotta 3.5.4.
But startup errror:

Code:
java.lang.ClassNotFoundException: org.terracotta.session.TerracottaTomcat70xSessionValve
         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
         at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144)
         at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504)
         at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1320)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
         at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
         at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
         at org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:584)
         at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:528)
         at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:787)
         at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:320)
         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
         at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
         at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
         at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
         at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
         at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
         at java.lang.Thread.run(Thread.java:636)
 Jul 4, 2012 8:19:09 AM org.apache.catalina.startup.ContextConfig processContextConfig
 SEVERE: Parse error in context.xml for 
 org.xml.sax.SAXParseException; systemId: file:/usr/local/liferay/tomcat-7.0.23/conf/context.xml; lineNumber: 3; columnNumber: 109; Error at (3, 109) : org.terracotta.session.TerracottaTomcat70xSessionValve
 ....
Oh sorry.
Client connect 1: Ehcache
Client connect 2: Session
^^.
Rajoshi, tomcat7 work with Web-Session 1.1.2 (in terracotta 3.5.4) ?

rajoshi wrote:
Hi,

It seems you have two instances of same Cachemanager running in the vm , may be you have not shutdown the previous one before using the new instance.
 


You right, i checked see two client runing ? Why ?
I startup only one client Liferay.


Note: Startup liferay still error. Ehcache and Hibernate is enabled only a few seconds, then re-disabled
I don't see hibernate-spring.xml in META-INF/
 
Profile for jackson0 -> Messages posted by jackson0 [35] Go to Page: 1, 2, 3 Next 
Go to:   
Powered by JForum 2.1.7 © JForum Team