Markus,
Couple of Questions:
a) What version of Websphere are you using
b) Which JDK are you using - Sun or IBM?
c) How much access to do you to the WS production and Dev servers ; i.e.
will you be able to change security policies, replace core server jars
with more up to date versions?
My gut feeling is that you have 3 choices:
1) Try to 'retrofit' the BRMS into a previous JVM / Websphere version.
No guarantee that it will work nor that the changes needed will render
the production server unstable. You need three changes: Retroweaver the
code to 1.4, Add JSF to the App Server and overcome any differences
between the IBM and the Sun JDK. One change you might attempt; to make
three is madness!
2) Deploy BRMS on Tomcat / JBoss. It might go against corporate policy,
but either the business needs the BRMS functionality enough to accept
this, or they will *have* to choose options 1 or 3.
3) Use an alternative means for business users to write rules; e.g.
Decision Tables or train user in the use of the Drools IDE.
None of these are ideal. As bad as options 2 and 3 are, number 1 is even
worse; you could waste a lot of time (no guarantee of success) and very
quickly find yourself with an App Server that IBM will refuse to support
:-(.
Paul
Markus Helbig wrote:
And here the next one (i removed asm-1.5.3 so that there's just
asm-3.0):
[19.10.07 10:22:10:791 CEST] 00000034 WebApp E SRVE0026E:
[Servlet-Fehler]-[/index.jsp]: java.lang.IllegalStateException: No
Manager could be created, make sure the Component exists in
application scope
at org.jboss.seam.core.Manager.instance(Manager.java:269)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:51)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at
com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at
com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at
com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
2007/10/19, Markus Helbig <mhelbig81(a)googlemail.com>:
> Ok here i have the stacktrace when starting the application:
>
> ---Original exception---
> java.lang.ClassFormatError: (org/jboss/seam/core/package-info) class
> name is invalid at offset=0
> at java.lang.ClassLoader.defineClassImpl(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:213)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
> at
com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:518)
> at
com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:469)
> at
com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:365)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:584)
> at
org.jboss.seam.deployment.NamespaceScanner.getPackage(NamespaceScanner.java:70)
> at
org.jboss.seam.deployment.NamespaceScanner.handleItem(NamespaceScanner.java:51)
> at org.jboss.seam.deployment.Scanner.handleArchive(Scanner.java:117)
> at org.jboss.seam.deployment.Scanner.scan(Scanner.java:96)
> at
org.jboss.seam.deployment.NamespaceScanner.getPackages(NamespaceScanner.java:34)
> at org.jboss.seam.init.Initialization.addNamespaces(Initialization.java:590)
> at org.jboss.seam.init.Initialization.<init>(Initialization.java:80)
> at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:33)
> at
com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1434)
> at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:411)
> at
com.ibm.ws.webcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:117)
> at
com.ibm.ws.webcontainer.VirtualHost.addWebApplication(VirtualHost.java:128)
> at com.ibm.ws.webcontainer.WebContainer.addWebApp(WebContainer.java:939)
> at
com.ibm.ws.webcontainer.WebContainer.addWebApplication(WebContainer.java:892)
> at
com.ibm.ws.runtime.component.WebContainerImpl.install(WebContainerImpl.java:167)
> at
com.ibm.ws.runtime.component.WebContainerImpl.start(WebContainerImpl.java:391)
> at
com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1245)
> at
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1067)
> at
com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:547)
> at
com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:751)
> at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:909)
> at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1429)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
> at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
> at java.lang.reflect.Method.invoke(Method.java:391)
> at
javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1366)
> at
javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1012)
> at
mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:233)
> at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
> at
mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86)
> at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
> at
mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:128)
> at
mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:167)
> at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1249)
> at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:990)
> at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
> at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:906)
> at com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:186)
> at
com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.execute(ApplicationDeploymentCollectionAction.java:484)
> at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
> at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
> at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
> at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:334)
> at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1070)
> at
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:273)
> at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
> at
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:319)
> at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
> at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:528)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)
> at
com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:309)
> at
com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:185)
> at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
> at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
> at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
> at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)
> at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
> at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
> at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
>
>
> when trying to run JBRMs in Browser (the reason maybe that RetroWeaver
> is using asm 3.0 and JBRMs is using asm 1.5.3:
>
>
> [19.10.07 10:10:12:192 CEST] 00000034 WebApp E SRVE0026E:
> [Servlet-Fehler]-[/index.jsp]: java.lang.NoSuchMethodError:
> org/objectweb/asm/ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;I)V
> at
net.sourceforge.retroweaver.runtime.java.lang.annotation.AIB.readClassStream(AIB.java:69)
> at
net.sourceforge.retroweaver.runtime.java.lang.annotation.AIB.<init>(AIB.java:61)
> at
net.sourceforge.retroweaver.runtime.java.lang.annotation.AIB.getAib(AIB.java:218)
> at
net.sourceforge.retroweaver.runtime.java.lang.Class_.getAnnotation(Class_.java:36)
> at org.jboss.seam.Seam.getComponentName(Seam.java:91)
> at org.jboss.seam.Component.getComponentName(Component.java:1533)
> at org.jboss.seam.Component.getInstance(Component.java:1567)
> at org.jboss.seam.Component.getInstance(Component.java:1562)
> at org.jboss.seam.core.Events.instance(Events.java:132)
> at org.jboss.seam.core.Events.exists(Events.java:127)
> at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:214)
> at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:234)
> at org.jboss.seam.servlet.SeamListener.sessionCreated(SeamListener.java:41)
> at
com.ibm.ws.webcontainer.httpsession.SessionContext.sessionCreatedEvent(SessionContext.java:3421)
> at
com.ibm.ws.webcontainer.httpsession.SessionContext.createSession(SessionContext.java:972)
> at
com.ibm.ws.webcontainer.httpsession.SessionContext.getIHttpSession(SessionContext.java:2508)
> at
com.ibm.ws.webcontainer.httpsession.SessionContext.getIHttpSession(SessionContext.java:2417)
> at
com.ibm.ws.webcontainer.srt.SRTRequestContext.getSession(SRTRequestContext.java:88)
> at
com.ibm.ws.webcontainer.srt.SRTServletRequest.getSession(SRTServletRequest.java:1049)
> at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:47)
> at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
> at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
> at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
> at
com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
> at
com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
> at
com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
> at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
> at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
> at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
> at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
> at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:98)
> at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
> at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
> at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
> at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
> at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
> at
com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
>
> 2007/10/19, Markus Helbig <mhelbig81(a)googlemail.com>:
>
>> Hi,
>>
>> i manipulated the classes folder and several Jar files in the lib
>> folder. Deployment is fine, but starting the applications gives:
>>
>> ---Original exception---
>> java.lang.ClassFormatError: (org/jboss/seam/core/package-info) class
>> name is invalid at offset=0
>> at java.lang.ClassLoader.defineClassImpl(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:213)
>>
>> i had other exceptions too, about problems with:
>>
>> ClassVisitor.class in asm.jar ...
>>
>> i couldn't find the reason ... i'll try again and post the exact
exceptions ...
>>
>>
>>> Remember that typically the BRMS is an editing tool used by 2-10 people,
>>> so a case could be made for a 'local' Tomcat or JBoss. The rules can
>>> then be exported from this and deployed on the existing production
>>> Websphere (JVM version permitting) - no BRMS needed there.
>>>
>> i know ... but there are several political reasons, which prohibit to
>> use another AppServer than Websphere ...
>>
>> Cheers
>>
>> Markus
>>
>>