[Design of POJO Server] - Seam deployment failures
by scott.stark@jboss.org
In the current trunk, the seam tests are failing in the profileservice config with the following type of errors:
| 20:21:17,867 INFO [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-numberguess.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3
| 20:21:17,876 INFO [EJBContainer] STARTED EJB: org.jboss.seam.async.TimerServiceDispatcher ejbName: TimerServiceDispatcher
| 20:21:17,903 INFO [JndiSessionRegistrarBase] Bound the following Entries in Global JNDI:
|
| jboss-seam-numberguess/TimerServiceDispatcher/local - EJB3.x Default Local Business Interface
| jboss-seam-numberguess/TimerServiceDispatcher/local-org.jboss.seam.async.LocalTimerServiceDispatcher - EJB3.x Local Business Interface
|
| 20:21:18,016 INFO [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-numberguess.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3
| 20:21:18,016 INFO [EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
| 20:21:18,042 INFO [JndiSessionRegistrarBase] Bound the following Entries in Global JNDI:
|
| jboss-seam-numberguess/EjbSynchronizations/local - EJB3.x Default Local Business Interface
| jboss-seam-numberguess/EjbSynchronizations/local-org.jboss.seam.transaction.LocalEjbSynchronizations - EJB3.x Local Business Interface
|
| 20:21:18,403 INFO [TomcatDeployment] deploy, ctxPath=/seam-numberguess, vfsUrl=jboss-seam-numberguess.war
| 20:21:19,800 INFO [ServletContextListener] Welcome to Seam 2.1.1-SNAPSHOT
| 20:21:19,906 ERROR [[/seam-numberguess]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
| java.lang.NullPointerException
| at org.jboss.seam.deployment.FileDescriptor.hashCode(FileDescriptor.java:56)
| at java.util.HashMap.put(HashMap.java:418)
| at java.util.HashSet.add(HashSet.java:194)
| at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:65)
| at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:75)
| at org.jboss.seam.deployment.AbstractScanner.handleItem(AbstractScanner.java:182)
| at org.jboss.seam.integration.jbossas.vfs.VFSScanner.handleRoot(VFSScanner.java:170)
| at org.jboss.seam.integration.jbossas.vfs.VFSScanner.scanResources(VFSScanner.java:130)
| at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:113)
| at org.jboss.seam.init.Initialization.create(Initialization.java:124)
| at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3887)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4370)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:356)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:140)
| at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)
| at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
| at org.jboss.web.deployers.WebModule.start(WebModule.java:96)
| 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:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
| at $Proxy35.start(Unknown Source)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
| at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
| at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
| at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.system.ServiceController.doChange(ServiceController.java:672)
| at org.jboss.system.ServiceController.start(ServiceController.java:444)
| at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:104)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:45)
| at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1410)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1128)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1149)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1181)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1069)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:752)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
| at org.jboss.profileservice.management.upload.remoting.DeployHandler.distribute(DeployHandler.java:193)
| at org.jboss.profileservice.management.upload.remoting.DeployHandler.invoke(DeployHandler.java:144)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184026#4184026
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4184026
15 years, 12 months
[Design of EJB 3.0] - Re: Passivating EJB 3 Stateful Session Beans stops the World
by andy.miller@jboss.com
"bstansberry(a)jboss.com" wrote : "andy.miller(a)jboss.com" wrote :
| | I do have the above in my ejb3-interceptors-aop.xml.
| |
| | Here is the behavior I see:
| |
| | With just @Clustered and no Cache or CacheConfig annotation, I get the StatefulTreeCache.
|
| Good.
|
| anonymous wrote : I think you say that using jboss.cache:service=EJB3SFSBClusteredCache doesn't work, and you would be correct. I had that, and I get no deployment error, but I still get StatefulTreeCache.
|
| No, that's not what I meant; what you see is what I expect.
|
| There's a couple of concepts here; one of which users normally don't need to worry about, the other they do.
|
| The first is what implementation of the "StatefulCache" interface EJB3 will use. This is the one users normally don't have to worry about. That interface defines the SPI the EJB3 container uses to interact with the caching subsystem. "StatefulTreeCache" is an implementation of that SPI that knows how to interact with JBC. "SimpleStatefulCache" is an implementation that works with the filesystem.
|
| You only became aware of this stuff because you had the @Clustered package issue that caused EJB3 to use the wrong one. With that fixed, with @Clustered you should always see "StatefulTreeCache".
|
| The second concept is how to configure whatever impl of StatefulCache is used. That's an end user concern and is done via the @CacheConfig annotation. The ejb3-interceptors-aop.xml stuff you saw is just a way of setting defaults if you don't add the annotation yourself.
|
| StatefulTreeCache uses the @CacheConfig.name attribute to tell it what JBoss Cache configuration to use. It gets the JBC instance from the CacheManager service by passing in the @CacheConfig.name value. The standard value it should pass in is "sfsb-cache", but if it passes in the legacy AS 4.x default value of "jboss.cache:service=EJB3SFSBClusteredCache", the CacheManager knows that's just an alias for the AS 5.x default of "sfsb-cache".
|
| So, this part sounds like its working just fine.
|
| anonymous wrote : With @Clustered and @CacheConfig(name="sfsb-cache", maxSize=125000) I still get StatefulTreeCache (not the EJB3SFSBStatefulTreeCache), and the size shows -1 in the jmx-console, and when I run it I still only get 10,000 as the max size. I just figured 10,000 because it never goes above that when refreshing, and when it gets close to that size is when passivation occurs.
|
| Yes, why the config value of maxSize=100,000 doesn't seem to be respected is what I need to figure out.
Thanks for explaining. I was misunderstanding the legacy part.
One final question. If I remove the @CacheConfig annotation, can I add the maxSize and the other parameters to the ejb3-interceptors-aop.xml, like it has for the other two entries?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184022#4184022
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4184022
15 years, 12 months