Drools + Tomcat 5/6 + JBoss
От: nvoynov Украина http://nvoynov.blogspot.com
Дата: 23.04.08 14:33
Оценка:
Здравствуйте, rsdn.ru!

Простите за глупый вопрос. Хочу развернуть Drools 4.0.4 (http://www.jboss.org/drools/) на Tomcat и ничего не выходит ..
В интернет есть каки-то ссылки типа ссылок ниже, но они не помогают
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBRMSjsfdependencies
http://www.nabble.com/RE:-BRMS-Problem-on-Tomcat-p12831362.html

Есть ли какой стандартный способ выявить и добавить недостающие компоненты по логу ошибок?

И совсем тупой — как развернуть war файл на JBoss (скачал 4.0.5, 4.2.2) в какую папку его ложить и развернется ли он автоматически как в tomcat?

Текст ошибки из лога

23.04.2008 17:26:08 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component: org.jboss.seam.security.identity
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:964)
    at org.jboss.seam.init.Initialization.installComponents(Initialization.java:891)
    at org.jboss.seam.init.Initialization.init(Initialization.java:547)
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:515)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1229)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1465)
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:243)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: javax/faces/application/FacesMessage$Severity
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at org.jboss.seam.Component.initMembers(Component.java:546)
    at org.jboss.seam.Component.<init>(Component.java:254)
    at org.jboss.seam.Component.<init>(Component.java:217)
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:949)
    ... 35 more
Caused by: java.lang.ClassNotFoundException: javax.faces.application.FacesMessage$Severity
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ... 42 more
23.04.2008 17:26:16 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component: org.jboss.seam.security.identity
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:964)
    at org.jboss.seam.init.Initialization.installComponents(Initialization.java:891)
    at org.jboss.seam.init.Initialization.init(Initialization.java:547)
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1244)
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:604)
    at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:129)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: javax/faces/application/FacesMessage$Severity
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at org.jboss.seam.Component.initMembers(Component.java:546)
    at org.jboss.seam.Component.<init>(Component.java:254)
    at org.jboss.seam.Component.<init>(Component.java:217)
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:949)
    ... 23 more
Caused by: java.lang.ClassNotFoundException: javax.faces.application.FacesMessage$Severity
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ... 30 more


добавил jsf как написано здесь
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBRMSjsfdependencies

23.04.2008 17:28:53 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: exception invoking: create
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:135)
    at org.jboss.seam.Component.callComponentMethod(Component.java:2087)
    at org.jboss.seam.Component.callCreateMethod(Component.java:2010)
    at org.jboss.seam.Component.newInstance(Component.java:1981)
    at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
    at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
    at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95)
    at org.jboss.seam.init.Initialization.init(Initialization.java:554)
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
    at org.drools.brms.server.repository.BRMSRepositoryConfiguration_$$_javassist_0.create(BRMSRepositoryConfiguration_$$_javassist_0.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
    at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
    ... 32 more
Caused by: java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:662)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:708)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    at org.apache.jackrabbit.core.util.DOMBuilder.write(DOMBuilder.java:80)
    at org.apache.jackrabbit.core.nodetype.xml.NodeTypeWriter.write(NodeTypeWriter.java:278)
    at org.apache.jackrabbit.core.nodetype.xml.NodeTypeWriter.write(NodeTypeWriter.java:65)
    at org.apache.jackrabbit.core.nodetype.NodeTypeDefStore.store(NodeTypeDefStore.java:71)
    at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.persistCustomNodeTypeDefs(NodeTypeRegistry.java:806)
    at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.registerNodeType(NodeTypeRegistry.java:177)
    at org.drools.repository.JackrabbitRepositoryConfigurator.registerNodeTypesFromCndFile(JackrabbitRepositoryConfigurator.java:130)
    at org.drools.repository.JackrabbitRepositoryConfigurator.setupRulesRepository(JackrabbitRepositoryConfigurator.java:64)
    at org.drools.brms.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:64)
    at org.drools.brms.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:56)
    ... 53 more


так понимаю, что куда-то нужно положить xalan?
С уважением, Николай
Re: Drools + Tomcat 5/6 + JBoss
От: nvoynov Украина http://nvoynov.blogspot.com
Дата: 23.04.08 14:48
Оценка:
N>И совсем тупой — как развернуть war файл на JBoss (скачал 4.0.5, 4.2.2) в какую папку его ложить и развернется ли он автоматически как в tomcat?

С развертыванием на JBoss 4.2.2 вроде бы разобрался, спасибо ссылке http://firstpartners.net/kb/index.php/BRMS_Setup
и даже запустил, но вопрос про tomcat остается
С уважением, Николай
Re[2]: Drools + Tomcat 5/6 + JBoss
От: nvoynov Украина http://nvoynov.blogspot.com
Дата: 23.04.08 15:16
Оценка:
N>С развертыванием на JBoss 4.2.2 вроде бы разобрался, спасибо ссылке http://firstpartners.net/kb/index.php/BRMS_Setup
N>и даже запустил, но вопрос про tomcat остается

после некоторых манипуляций, описанных здесь ..
запустился вроде Drools в менеджере написано что запущен, но при переходе на drools-jbrms получаю след. сообщение


javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
    org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:46)
    org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)

root cause

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
    org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
    org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:46)
    org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
С уважением, Николай
Re[3]: Drools + Tomcat 5/6 + JBoss
От: nvoynov Украина http://nvoynov.blogspot.com
Дата: 23.04.08 15:33
Оценка:
Все спасибо — вроде заработало

Секрет собственно здесь
здесь и здесь

с минимальными усилиями

===============
* Download the JBoss App Server from http://labs.jboss.com/projects/download/ . Unzip and copy the following libs
o jstl.jar
o serializer.jar
o xalan.jar
o xercesImpl.jar

While not needed on BEA, you may need to remove any Jar files in your Server and-or the Drools/WEB-INF/lib application that clash with the files that you have just copied.
===============

т.е. нужно
— скопировать в lib JSF
— добавить в lib jstl.jar, serializer.jar, xalan.jar, xercesImpl.jar
— удалить drools-jbrms.war\WEB-INF\lib\el-api-1.2.jar, drools-jbrms.war\WEB-INF\lib\xercesImpl-2.4.0.jar

я оставил drools-jbrms.war\WEB-INF\lib\xercesImpl-2.4.0.jar и удалил xercesImpl.jar .. работает вроде
С уважением, Николай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.