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列,为空也没有问题的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)