组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
Steve Melo
Cluster-link w/o multicasting
2012年4月1日 上午10:40
答复

Steve Melo

等级: New Member

帖子: 7

加入日期: 2012年3月31日

最近的帖子

Hello,

I am attempting to deploy a clustered liferay deployment in Amazon's EC2 cloud. I have run into a problem beacause cluster-link relies on multi casting, but this is not available on ec2. Can cluster-link be configured w/o multicasting?

Thanks,

-steve
Hitoshi Ozawa
RE: Cluster-link w/o multicasting
2012年4月1日 下午2:53
答复

Hitoshi Ozawa

等级: Liferay Legend

帖子: 7949

加入日期: 2010年3月23日

最近的帖子

First of all, is it necessary to cluster on EC2?

That said, instead of clusterlink, you can put your indexes on a shared drive or in a database. Support for database is going to be discontinued, but I think it's still supported in 6.1.0GA1.
Steve Melo
RE: Cluster-link w/o multicasting
2012年4月1日 下午7:00
答复

Steve Melo

等级: New Member

帖子: 7

加入日期: 2012年3月31日

最近的帖子

Hitoshi Ozawa:
First of all, is it necessary to cluster on EC2?

Hi Hitoshi, I assumed it would be easiest to expand liferay's capacity when under high load by auto spawning additional instances of liferay on demand. Also, I thought incase one server died the surving servers in the cluster would keep the site online. I am new to amazon cloud and would love to hear what others are doing/recommending.

Hitoshi Ozawa:
you can put your indexes on a shared drive or in a database

I avoided that because the documentation recomended against it. Have you had success with a shared drive?

I did do some digging and found that it is possible to run EhCahe w/o multicasting by changing the default behaviour of peerProvider type from 'automatic' to 'manual' and by specifying each cache peer via rmiURLs as decribed in this link, but I have been unsuccessful in getting this working.

What I did exactly was added these settings to my portel-ext.properties file:
1net.sf.ehcache.configurationResourceName=[b]/custom-ehcache/[/b]hibernate-clustered.xml
2net.sf.ehcache.configurationResourceName.peerProviderProperties=[b]peerDiscovery=manual,rmiUrls=//ffweb2:40001[/b]
3
4ehcache.multi.vm.config.location=[b]/custom-ehcache/l[/b]iferay-multi-vm-clustered.xml
5ehcache.multi.vm.config.location.peerProviderProperties=[b]manual,rmiUrls=//ffweb2:40001[/b]


I then created the 'custom-ehcache' folder in my tomcat's: webapps/ROOT/WEB-INF/classes/ folder and copied 'hibernate-clustered.xml', and 'liferay-multi-vm-clustered.xml' from portal-impl.jar file and placed these files in my 'custom-ehcache' folder:
1tomcat/webapps/ROOT/WEB-INF/classes/custom-ehcache/
2├── hibernate-clustered.xml
3└── liferay-multi-vm-clustered.xml


I then modified cacheManagerPeerListenerFactory definitions in these files as so:
hibernate-clustered.xml
 1
 2<ehcache
 3        dynamicConfig="false"
 4        monitoring="off"
 5        name="hibernate-clustered"
 6        updateCheck="false"
 7        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 8        xsi:noNamespaceSchemaLocation="ehcache.xsd"
 9>
10        <cacheManagerPeerProviderFactory
11                class="com.liferay.portal.cache.ehcache.LiferayCacheManagerPeerProviderFactory"
12                properties="portalPropertyKey=net.sf.ehcache.configurationResourceName.peerProviderProperties"
13                propertySeparator=","
14        />
15        <cacheManagerPeerListenerFactory
16                class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
17                [b]properties="port=40001,   
18                            remoteObjectPort=40002,   
19                            socketTimeoutMillis=120000"[/b]
20        />


liferay-multi-vm-clustered.xml:
 1
 2<ehcache
 3        dynamicConfig="true"
 4        monitoring="off"
 5        name="liferay-multi-vm-clustered"
 6        updateCheck="false"
 7        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 8        xsi:noNamespaceSchemaLocation="ehcache.xsd"
 9>
10
11        <!--
12        Caches in this file can be clustered and are configured to be clustered.
13        -->
14
15        <cacheManagerPeerProviderFactory
16                class="com.liferay.portal.cache.ehcache.LiferayCacheManagerPeerProviderFactory"
17                properties="portalPropertyKey=ehcache.multi.vm.config.location.peerProviderProperties"
18                propertySeparator=","
19        />
20        <cacheManagerPeerListenerFactory
21                class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
22                [b]properties="port=40001,   
23                            remoteObjectPort=40002,   
24                            socketTimeoutMillis=120000"[/b]
25        />


And when I start tomcat I am presented with many errors regarding bean creation failures, none that I fully understand:
  1Apr 2, 2012 1:41:40 AM org.apache.catalina.core.AprLifecycleListener init
  2INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/jdk1.6.0_25/jre/lib/amd64/server:/usr/lib/jvm/jdk1.6.0_25/jre/lib/amd64:/usr/lib/jvm/jdk1.6.0_25/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
  3Apr 2, 2012 1:41:41 AM org.apache.coyote.AbstractProtocol init
  4INFO: Initializing ProtocolHandler ["http-bio-80"]
  5Apr 2, 2012 1:41:41 AM org.apache.coyote.AbstractProtocol init
  6INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
  7Apr 2, 2012 1:41:41 AM org.apache.catalina.startup.Catalina load
  8INFO: Initialization processed in 1111 ms
  9Apr 2, 2012 1:41:41 AM org.apache.catalina.core.StandardService startInternal
 10INFO: Starting service Catalina
 11Apr 2, 2012 1:41:41 AM org.apache.catalina.core.StandardEngine startInternal
 12INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
 13Apr 2, 2012 1:41:41 AM org.apache.catalina.startup.HostConfig deployDescriptor
 14INFO: Deploying configuration descriptor /usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/conf/Catalina/localhost/ROOT.xml
 15Loading jar:file:/usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
 1601:41:44,512 INFO  [EasyConf:122] Refreshed the configuration of all components
 1701:41:45,365 INFO  [ConfigurationLoader:56] Properties for jar:file:/usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal loaded from [file:/usr/local/liferay/portal-setup-wizard.properties, file:/usr/local/liferay/portal-ext.properties, jar:file:/usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties]
 18Loading jar:file:/usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
 19Loading file:/usr/local/liferay/portal-ext.properties
 20Loading file:/usr/local/liferay/portal-setup-wizard.properties
 2101:41:54,206 INFO  [DialectDetector:80] Determine dialect for MySQL 5
 2201:41:54,256 INFO  [DialectDetector:145] Found dialect org.hibernate.dialect.MySQLDialect
 2301:41:55,105 INFO  [LiferayCacheManagerPeerProviderFactory:76] [b]portalPropertyKey net.sf.ehcache.configurationResourceName.peerProviderProperties has value peerDiscovery=manual,rmiUrls=//ffweb2:40001[/b]
 2401:42:22,845 INFO  [LiferayCacheManagerPeerProviderFactory:76] [b]portalPropertyKey ehcache.multi.vm.config.location.peerProviderProperties has value manual,rmiUrls=//ffweb2:40001[/b]
 25[b]01:42:23,097 ERROR [ContextLoader:227] Context initialization failed[/b]
 26org.springframework.beans.factory.BeanCreationException: [b]Error creating bean with name 'com.liferay.portal.cache.keypool.MultiVMKeyPool'[/b] defined in class path resource [META-INF/util-spring.xml]: [b]Cannot resolve reference to bean 'com.liferay.portal.cache.keypool.MultiVMKeyPoolPortalCacheManager'[/b] while setting bean property 'portalCacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException:[b] Error creating bean with name 'com.liferay.portal.cache.keypool.MultiVMKeyPoolPortalCacheManager'[/b] defined in class path resource [META-INF/util-spring.xml]: [b]Cannot resolve reference to bean 'com.liferay.portal.kernel.cache.MultiVMPool'[/b] while setting bean property 'multiVMPool'; nested exception is org.springframework.beans.factory.BeanCreationException: [b]Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPool' [/b]defined in class path resource [META-INF/util-spring.xml]: [b]Cannot resolve reference to bean 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager'[/b] while setting bean property 'portalCacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: [b]Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager'[/b] defined in class path resource [META-INF/util-spring.xml]: Invocation of init method failed; [b]nested exception is java.lang.NumberFormatException: null[/b]
 27    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 28    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
 29    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
 30    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
 31    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
 32    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 33    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
 34    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 35    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
 36    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
 37    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
 38    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
 39    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
 40    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
 41    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
 42    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
 43    at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:159)
 44    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
 45    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
 46    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 47    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
 48    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
 49    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
 50    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
 51    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
 52    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 53    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 54    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 55    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 56    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 57    at java.lang.Thread.run(Thread.java:662)
 58Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.cache.keypool.MultiVMKeyPoolPortalCacheManager' defined in class path resource [META-INF/util-spring.xml]: Cannot resolve reference to bean 'com.liferay.portal.kernel.cache.MultiVMPool' while setting bean property 'multiVMPool'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPool' defined in class path resource [META-INF/util-spring.xml]: Cannot resolve reference to bean 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager' while setting bean property 'portalCacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager' defined in class path resource [META-INF/util-spring.xml]: Invocation of init method failed; nested exception is java.lang.NumberFormatException: null
 59    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 60    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
 61    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
 62    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
 63    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
 64    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 65    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
 66    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 67    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
 68    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
 69    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
 70    ... 30 more
 71Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPool' defined in class path resource [META-INF/util-spring.xml]: Cannot resolve reference to bean 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager' while setting bean property 'portalCacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager' defined in class path resource [META-INF/util-spring.xml]: Invocation of init method failed; nested exception is java.lang.NumberFormatException: null
 72    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 73    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
 74    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
 75    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
 76    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
 77    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 78    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
 79    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 80    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
 81    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
 82    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
 83    ... 40 more
 84Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.liferay.portal.kernel.cache.MultiVMPortalCacheManager' defined in class path resource [META-INF/util-spring.xml]: Invocation of init method failed; nested exception is java.lang.NumberFormatException: null
 85    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
 86    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
 87    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 88    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
 89    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 90    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
 91    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
 92    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
 93    ... 50 more
 94Caused by: java.lang.NumberFormatException: null
 95    at java.lang.Integer.parseInt(Integer.java:417)
 96    at java.lang.Integer.valueOf(Integer.java:554)
 97    at net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory.createAutomaticallyConfiguredCachePeerProvider(RMICacheManagerPeerProviderFactory.java:115)
 98    at net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory.createCachePeerProvider(RMICacheManagerPeerProviderFactory.java:61)
 99    at com.liferay.portal.cache.ehcache.LiferayCacheManagerPeerProviderFactory.createCachePeerProvider(LiferayCacheManagerPeerProviderFactory.java:109)
100    at net.sf.ehcache.config.ConfigurationHelper.createCachePeerProviders(ConfigurationHelper.java:132)
101    at net.sf.ehcache.CacheManager.configure(CacheManager.java:617)
102    at net.sf.ehcache.CacheManager.init(CacheManager.java:361)
103    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:230)
104    at com.liferay.portal.cache.ehcache.EhcachePortalCacheManager.afterPropertiesSet(EhcachePortalCacheManager.java:69)
105    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
106    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
107    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
108    at java.lang.reflect.Method.invoke(Method.java:597)
109    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
110    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
111    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
112    ... 57 more
113Apr 2, 2012 1:42:23 AM org.apache.catalina.core.StandardContext startInternal
114SEVERE: Error listenerStart
115Apr 2, 2012 1:42:23 AM org.apache.catalina.core.StandardContext startInternal
116SEVERE: Context [] startup failed due to previous errors
117Apr 2, 2012 1:42:23 AM org.apache.catalina.startup.HostConfig deployDirectory
118INFO: Deploying web application directory /usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/web-form-portlet
119Apr 2, 2012 1:42:23 AM org.apache.catalina.startup.HostConfig deployDirectory
120INFO: Deploying web application directory /usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/wsrp-portlet
121Apr 2, 2012 1:42:26 AM org.apache.catalina.startup.HostConfig deployDirectory
122INFO: Deploying web application directory /usr/local/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/webapps/mail-portlet
123Apr 2, 2012 1:42:26 AM org.apache.coyote.AbstractProtocol start
124INFO: Starting ProtocolHandler ["http-bio-80"]
125Apr 2, 2012 1:42:26 AM org.apache.coyote.AbstractProtocol start
126INFO: Starting ProtocolHandler ["ajp-bio-8009"]
127Apr 2, 2012 1:42:26 AM org.apache.catalina.startup.Catalina start
128INFO: Server startup in 45212 ms
129Apr 2, 2012 1:43:19 AM org.apache.catalina.core.StandardServer await
130INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
131Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol pause
132INFO: Pausing ProtocolHandler ["http-bio-80"]
133Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol pause
134INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
135Apr 2, 2012 1:43:19 AM org.apache.catalina.core.StandardService stopInternal
136INFO: Stopping service Catalina
137Apr 2, 2012 1:43:19 AM org.apache.catalina.util.LifecycleBase stop
138INFO: The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] after stop() had already been called. The second call will be ignored.
139Apr 2, 2012 1:43:19 AM org.apache.catalina.loader.WebappClassLoader loadClass
140INFO: Illegal access: this web application instance has been stopped already.  Could not load org.apache.commons.logging.impl.LogFactoryImpl.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
141java.lang.IllegalStateException
142    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1574)
143    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
144    at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1131)
145    at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:1065)
146    at java.security.AccessController.doPrivileged(Native Method)
147    at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:1062)
148    at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:650)
149    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
150    at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:121)
151    at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:136)
152    at org.apache.commons.configuration.PropertiesConfiguration.<init>(PropertiesConfiguration.java:237)
153    at com.germinus.easyconf.AggregatedProperties.addFileProperties(AggregatedProperties.java:164)
154    at com.germinus.easyconf.AggregatedProperties.addPropertiesSource(AggregatedProperties.java:140)
155    at com.germinus.easyconf.AggregatedProperties.addGlobalFileName(AggregatedProperties.java:123)
156    at com.germinus.easyconf.ConfigurationLoader.readPropertiesConfiguration(ConfigurationLoader.java:48)
157    at com.germinus.easyconf.ComponentConfiguration.getAvailableProperties(ComponentConfiguration.java:152)
158    at com.germinus.easyconf.ComponentConfiguration.getProperties(ComponentConfiguration.java:140)
159    at com.liferay.portal.configuration.ConfigurationImpl.getComponentProperties(ConfigurationImpl.java:439)
160    at com.liferay.portal.configuration.ConfigurationImpl.printSources(ConfigurationImpl.java:492)
161    at com.liferay.portal.configuration.ConfigurationImpl.<init>(ConfigurationImpl.java:100)
162    at com.liferay.portal.configuration.ConfigurationImpl.<init>(ConfigurationImpl.java:67)
163    at com.liferay.portal.configuration.ConfigurationFactoryImpl.getConfiguration(ConfigurationFactoryImpl.java:28)
164    at com.liferay.portal.kernel.configuration.ConfigurationFactoryUtil.getConfiguration(ConfigurationFactoryUtil.java:25)
165    at com.liferay.util.portlet.PortletProps.<init>(PortletProps.java:65)
166    at com.liferay.util.portlet.PortletProps.<clinit>(PortletProps.java:69)
167    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
168    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
169    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
170    at java.lang.reflect.Method.invoke(Method.java:597)
171    at com.liferay.wsrp.service.ClpSerializer.getServletContextName(ClpSerializer.java:56)
172    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.getService(WSRPConsumerPortletLocalServiceUtil.java:375)
173    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.destroyWSRPConsumerPortlets(WSRPConsumerPortletLocalServiceUtil.java:312)
174    at com.liferay.wsrp.servlet.WSRPServletContextListener.doPortalDestroy(WSRPServletContextListener.java:41)
175    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
176    at com.liferay.wsrp.servlet.WSRPServletContextListener.contextDestroyed(WSRPServletContextListener.java:32)
177    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4805)
178    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5453)
179    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
180    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1540)
181    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1530)
182    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
183    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
184    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
185    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
186    at java.lang.Thread.run(Thread.java:662)
187Apr 2, 2012 1:43:19 AM org.apache.catalina.loader.WebappClassLoader loadClass
188INFO: Illegal access: this web application instance has been stopped already.  Could not load org.apache.commons.logging.impl.LogFactoryImpl$3.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
189java.lang.IllegalStateException
190    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1574)
191    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
192    at org.apache.commons.logging.impl.LogFactoryImpl.getParentClassLoader(LogFactoryImpl.java:700)
193    at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1187)
194    at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
195    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
196    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
197    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
198    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
199    at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:121)
200    at org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFileConfiguration.java:136)
201    at org.apache.commons.configuration.PropertiesConfiguration.<init>(PropertiesConfiguration.java:237)
202    at com.germinus.easyconf.AggregatedProperties.addFileProperties(AggregatedProperties.java:164)
203    at com.germinus.easyconf.AggregatedProperties.addPropertiesSource(AggregatedProperties.java:140)
204    at com.germinus.easyconf.AggregatedProperties.addGlobalFileName(AggregatedProperties.java:123)
205    at com.germinus.easyconf.ConfigurationLoader.readPropertiesConfiguration(ConfigurationLoader.java:48)
206    at com.germinus.easyconf.ComponentConfiguration.getAvailableProperties(ComponentConfiguration.java:152)
207    at com.germinus.easyconf.ComponentConfiguration.getProperties(ComponentConfiguration.java:140)
208    at com.liferay.portal.configuration.ConfigurationImpl.getComponentProperties(ConfigurationImpl.java:439)
209    at com.liferay.portal.configuration.ConfigurationImpl.printSources(ConfigurationImpl.java:492)
210    at com.liferay.portal.configuration.ConfigurationImpl.<init>(ConfigurationImpl.java:100)
211    at com.liferay.portal.configuration.ConfigurationImpl.<init>(ConfigurationImpl.java:67)
212    at com.liferay.portal.configuration.ConfigurationFactoryImpl.getConfiguration(ConfigurationFactoryImpl.java:28)
213    at com.liferay.portal.kernel.configuration.ConfigurationFactoryUtil.getConfiguration(ConfigurationFactoryUtil.java:25)
214    at com.liferay.util.portlet.PortletProps.<init>(PortletProps.java:65)
215    at com.liferay.util.portlet.PortletProps.<clinit>(PortletProps.java:69)
216    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
217    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
218    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
219    at java.lang.reflect.Method.invoke(Method.java:597)
220    at com.liferay.wsrp.service.ClpSerializer.getServletContextName(ClpSerializer.java:56)
221    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.getService(WSRPConsumerPortletLocalServiceUtil.java:375)
222    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.destroyWSRPConsumerPortlets(WSRPConsumerPortletLocalServiceUtil.java:312)
223    at com.liferay.wsrp.servlet.WSRPServletContextListener.doPortalDestroy(WSRPServletContextListener.java:41)
224    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
225    at com.liferay.wsrp.servlet.WSRPServletContextListener.contextDestroyed(WSRPServletContextListener.java:32)
226    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4805)
227    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5453)
228    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
229    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1540)
230    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1530)
231    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
232    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
233    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
234    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
235    at java.lang.Thread.run(Thread.java:662)
23601:43:19,940 ERROR [PortletBeanLocatorUtil:38] BeanLocator is null for servlet context wsrp-portlet
23701:43:19,942 ERROR [BasePortalLifecycle:33] com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context wsrp-portlet
238com.liferay.portal.kernel.bean.BeanLocatorException: BeanLocator has not been set for servlet context wsrp-portlet
239    at com.liferay.portal.kernel.bean.PortletBeanLocatorUtil.locate(PortletBeanLocatorUtil.java:42)
240    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.getService(WSRPConsumerPortletLocalServiceUtil.java:375)
241    at com.liferay.wsrp.service.WSRPConsumerPortletLocalServiceUtil.destroyWSRPConsumerPortlets(WSRPConsumerPortletLocalServiceUtil.java:312)
242    at com.liferay.wsrp.servlet.WSRPServletContextListener.doPortalDestroy(WSRPServletContextListener.java:41)
243    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
244    at com.liferay.wsrp.servlet.WSRPServletContextListener.contextDestroyed(WSRPServletContextListener.java:32)
245    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4805)
246    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5453)
247    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
248    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1540)
249    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1530)
250    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
251    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
252    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
253    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
254    at java.lang.Thread.run(Thread.java:662)
25501:43:19,944 ERROR [BasePortalLifecycle:33] java.lang.NullPointerException
256java.lang.NullPointerException
257    at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalDestroy(PortalClassLoaderServletContextListener.java:66)
258    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
259    at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextDestroyed(PortalClassLoaderServletContextListener.java:36)
260    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4805)
261    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5453)
262    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
263    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1540)
264    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1530)
265    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
266    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
267    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
268    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
269    at java.lang.Thread.run(Thread.java:662)
27001:43:19,962 ERROR [BasePortalLifecycle:33] java.lang.NullPointerException
271java.lang.NullPointerException
272    at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalDestroy(PortalClassLoaderServletContextListener.java:66)
273    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalDestroy(BasePortalLifecycle.java:30)
274    at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextDestroyed(PortalClassLoaderServletContextListener.java:36)
275    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4805)
276    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5453)
277    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
278    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1540)
279    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1530)
280    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
281    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
282    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
283    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
284    at java.lang.Thread.run(Thread.java:662)
285Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol stop
286INFO: Stopping ProtocolHandler ["http-bio-80"]
287Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol stop
288INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
289Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol destroy
290INFO: Destroying ProtocolHandler ["http-bio-80"]
291Apr 2, 2012 1:43:19 AM org.apache.coyote.AbstractProtocol destroy
292INFO: Destroying ProtocolHandler ["ajp-bio-8009"]


Hopefully I am missing something simple, or someone who has done this can share thier knowledge.

Thanks,

-steve
Hitoshi Ozawa
RE: Cluster-link w/o multicasting
2012年4月1日 下午7:16
答复

Hitoshi Ozawa

等级: Liferay Legend

帖子: 7949

加入日期: 2010年3月23日

最近的帖子

I think you're getting mixed up. Clusterlink is just to share Lucene indexes between nodes. It's not about ehcache nor hibernate. That's something different.

Sorry, not using EC2. Providers such as jelastics (http://jelastic.com/) are offering auto-scale feature.
Steve Melo
RE: Cluster-link w/o multicasting
2012年4月2日 下午4:23
答复

Steve Melo

等级: New Member

帖子: 7

加入日期: 2012年3月31日

最近的帖子

Thanks,

I will repost my question under a more appropriate title.

-steve
Johnathan Burbea
RE: Cluster-link w/o multicasting
2012年4月23日 下午7:14
答复

Johnathan Burbea

等级: Junior Member

帖子: 39

加入日期: 2012年4月5日

最近的帖子

Juan Gonzalez P:
Search for cluster in user guide. There you have all you need.

Additionally if you want session replication you'll have to add <distributable/> element in web.xml.



Please explain me session replication in LifeRay CE 6.1?

I don't see it in the user guide documentation.

Did LifeRay change the terracotta implementation in 6.1 CE from 6.0x?

http://www.liferay.com/web/mika.koivisto/blog/-/blogs/how-do-i-cluster-liferay-with-terracotta-?

Do we now use com.liferay.portal.cache.EhcachePortalCacheManager instead of the cluster article in the blog above?

http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/distributed-cachi-5

The super-easy way of enabling distributed caching is simply to enable Cluster Link. If you've already done this to enable distributed search engine indexes, then your job is already done. What this does is enable some RMI (Remote Method Invocation) cache listeners that are designed to replicate the cache across a cluster.

Does enabling enabling distributed caching with ClusterLink mean we have default distributed cache settings?

Is session replication deprecated with Server Farms and ClusterLink?

So confused.