openfire用clustering怎么配置集群

openfire用clustering怎么配置集群,第1张

步骤如下

1.使用coherence3.3+openfire3.7.1+clustering.jar1.2.0

2.将coherence3.3中的三个jar包coherence.jar+coherence-work.jar+tangosol.jar拷贝到openfire的安装目录的lib下

3.将clustering.jar拷贝到openfire的安装目录下的插件plugin包中

4.重启服务,登陆到web管理控制台,在clustering目录下设置enable

5.再重启服务,登陆管理控制台时,初始化错误异常

java.lang.ExceptionInInitializerError

at org.jivesoftware.openfire.lockout.LockOutManager.getInstance(LockOutManager.java:58)

at org.jivesoftware.openfire.auth.AuthFactory.authenticate(AuthFactory.java:154)

at org.jivesoftware.openfire.admin.login_jsp._jspService(login_jsp.java:149)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

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

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

Caused by: java.lang.IllegalStateException: Unable to access backing cache for Locked Out Accounts. BackingMapManager is a com.tangosol.net.DefaultConfigurableCacheFactory$Manager and backing map is com.tangosol.net.cache.LocalCache

at com.jivesoftware.util.cache.ClusteredCache.init(ClusteredCache.java:106)

at com.jivesoftware.util.cache.ClusteredCache.(ClusteredCache.java:59)

at com.jivesoftware.util.cache.CoherenceClusteredCacheFactory.createCache(CoherenceClusteredCacheFactory.java:177)

at org.jivesoftware.util.cache.CacheFactory.createCache(CacheFactory.java:331)

at org.jivesoftware.openfire.lockout.LockOutManager.(LockOutManager.java:70)

at org.jivesoftware.openfire.lockout.LockOutManager.(LockOutManager.java:33)

at org.jivesoftware.openfire.lockout.LockOutManager$LockOutManagerContainer.(LockOutManager.java:37)

... 33 more

起初怀疑是coherence与openfire的版本不兼容,之后试了coherence3.7.1,coherence3.6.1,coherence3.5,coherence3.4与openfire3.7.1、openfire3.6.4的各种排列组合

均报异常。

1.Openfire 开始使用的时候,就会自己创建一个数据库,那个数据库是原先自定义的,他就会在数据库里新建好多以“of”开头的标,比如ofuser,ofproperty...之类的。

2.如果你有原本有一个数据库,又不想跑2套数据库,那就修改ofproperty那个表吧,也可以在Openfire后台管理那里设置不过个人觉得太慢了,建议修改Ofproperty表。

3.主要添加,修改12)处地方,以键值方式添加。

4.

1)admin.authorizedJIDs 设置你的管理员账户后面记得带domain,比喻你的服务器叫做ms.com,你就[email protected]

2)jdbcAuthProvider.passwordSQL 这是密码的SQL语句

3)jdbcAuthProvider.passwordType 验证方式

4)jdbcProvider.connectionString连接数据库的语句

5)jdbcUserProvider.allUsersSQL 所有用户

6)jdbcUserProvider.emailField 电子邮件的列名,确实不会设置就新建一个email列,为空也没有问题的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6472546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-23
下一篇 2023-03-23

发表评论

登录后才能评论

评论列表(0条)

保存