2016-08-01 55 views
0

在我的使用案例中,我開發了N個web應用程序,每個應用程序使用Infinispan共享緩存和JGroups作爲傳輸層。JGROUPS使用Infinispan運輸遠程處理啓動錯誤

當web應用程序啓動時,它創建一個cachemanager對象並將其註冊到應用程序服務器的JNDI中。接下來啓動的webcapplication會檢查JNDI,如果它發現一個已經被另一個web應用綁定的緩存管理器,它會通過一個簡單的查找調用來使用它。

這樣,實例化分佈式緩存管理器的第一個Web應用程序應該是第一個使jgroups通道啓動的actor,即協調器。

問題發生在:

  1. 我需要更新使用新的戰爭的熱點部署所有的web應用。

  2. 我取消部署已在應用程序服務器上運行的所有戰爭。

  3. 我部署新的戰爭

  4. 所有的戰爭都是成功部署

  5. 1 millsecond部署後,負載平衡器轉發所有傳入的客戶端請求新的可用web應用服務

  6. 新調用的web應用程序在JNDI中找不到任何緩存管理器,因此它會創建一個新的緩存管理器。這樣它就創建了新的頻道。

  7. 在這一點上,我得到這個異常:

    15:36:41,742 INFO [stdout] (AsyncAppender-asyncConsole) org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.remoting.transport.jgroups.JGroupsTransport.start() on object of type JGroupsTransport 
    15:36:41,742 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:248) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,742 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:588) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,743 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:554) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,743 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:424) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,743 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:397) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,743 INFO [stdout] (AsyncAppender-asyncConsole)  at com.society.core.session.SessionManager.<init>(SessionManager.java:162) [core-1.4.0-SNAPSHOT.jar:?] 
    15:36:41,744 INFO [stdout] (AsyncAppender-asyncConsole)  at com.society.core.session.SessionManager.<init>(SessionManager.java:184) [core-1.4.0-SNAPSHOT.jar:?] 
    15:36:41,744 INFO [stdout] (AsyncAppender-asyncConsole)  at com.society.core.auth.filter.KasPrincipalFilter.validateSession(KasPrincipalFilter.java:101) [core-1.4.0-SNAPSHOT.jar:?] 
    15:36:41,744 INFO [stdout] (AsyncAppender-asyncConsole)  at com.society.core.auth.filter.KasPrincipalFilter.doFilter(KasPrincipalFilter.java:54) [core-1.4.0-SNAPSHOT.jar:?] 
    15:36:41,745 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,745 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,745 INFO [stdout] (AsyncAppender-asyncConsole)  at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.6.jar:2.6] 
    15:36:41,745 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,745 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,746 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (default task-7) ISPN000078: Starting JGroups channel ISPN 
    15:36:41,747 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,748 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,748 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=FRAG2 
    15:36:41,751 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,752 INFO [stdout] (AsyncAppender-asyncConsole)  at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) [wildfly-undertow-9.0.1.Final.jar!/:9.0.1.Final] 
    15:36:41,753 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=MFC 
    15:36:41,764 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,766 INFO [stdout] (AsyncAppender-asyncConsole)  at org.keycloak.adapters.undertow.UndertowAuthenticatedActionsHandler.handleRequest(UndertowAuthenticatedActionsHandler.java:66) [keycloak-undertow-adapter-1.7.0.Final.jar!/:1.7.0.Final] 
    15:36:41,766 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,768 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,768 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,768 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=UFC 
    15:36:41,777 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,778 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,780 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=GMS 
    15:36:41,781 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,781 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,785 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)[undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,785 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,786 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,788 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (default task-8) ISPN000079: Channel ISPN local address is ws-7-aor-1951, physical addresses are [10.17.36.176:55992] 
    15:36:41,786 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=STABLE 
    15:36:41,794 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,798 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,799 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,801 INFO [stdout] (AsyncAppender-asyncConsole)  at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) [wildfly-undertow-9.0.1.Final.jar!/:9.0.1.Final] 
    15:36:41,802 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,803 INFO [stdout] (AsyncAppender-asyncConsole)  at org.keycloak.adapters.undertow.ServletPreAuthActionsHandler.handleRequest(ServletPreAuthActionsHandler.java:69) [keycloak-undertow-adapter-1.7.0.Final.jar!/:1.7.0.Final] 
    15:36:41,805 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=UNICAST3 
    15:36:41,813 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,815 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,821 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    
    15:36:41,824 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)[undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,826 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172) [undertow-servlet-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,828 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    15:36:41,829 INFO [stdout] (AsyncAppender-asyncConsole)  at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774) [undertow-core-1.2.9.Final.jar!/:1.2.9.Final] 
    
    15:36:41,829 INFO [stdout] (AsyncAppender-asyncConsole)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_51] 
    15:36:41,829 INFO [stdout] (AsyncAppender-asyncConsole)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_51] 
    15:36:41,830 INFO [stdout] (AsyncAppender-asyncConsole)  at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] 
    15:36:41,830 INFO [stdout] (AsyncAppender-asyncConsole) Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.remoting.transport.jgroups.JGroupsTransport.start() on object of type JGroupsTransport 
    15:36:41,838 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:171) ~[infinispan-commons-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,839 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,840 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,841 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    15:36:41,840 WARNING [org.jgroups.jmx.JmxConfigurator] (default task-7) unregistering already registered MBean: org.infinispan2:type=protocol,cluster="ISPN",protocol=NAKACK2 
    15:36:41,842 INFO [stdout] (AsyncAppender-asyncConsole)  at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530) ~[infinispan-core-7.2.3.Final.jar!/:7.2.3.Final] 
    
+0

您能否手動取消部署所有應用程序,並檢查是否所有內容都已成功從JNDI和JMX註銷?也許應用程序不能正確清理資源。 – altanis

+0

當我將此屬性添加到緩存管理器創建時,問題消失ConfigurationBuilder builder = new ConfigurationBuilder(); builder.clustering()。stateTransfer()。awaitInitialTransfer(false);爲什麼????? – Alex

+1

請參閱[答案](http://stackoverflow.com/questions/38619271/infinispan-jgroups-crashes-after-war-deploying/38741204#38741204)我給了一個類似的帖子,關於通過共享CacheManager實例的問題JNDI。 –

回答