Mantis - Resin
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
2613 | major | always | 04-20-08 21:57 | 04-22-08 09:50 | |
|
|||||
Reporter: | markus | Platform: | |||
Assigned To: | ferg | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.1.6 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.6 | ||
|
|||||
Summary: | 0002613: Webbeans+Amber causes AmberRuntimeException, illegal instance class | ||||
Description: |
I'm testing Amber and webbeans on MacOS X 10.5.2/Java 1.5.0_13, and with the combination of a Component that references a persistence bean that is going to be enhanced, I get (at deploy) [06:44:05.277] {main} WebApp[http://localhost:8080/resintest] [^] error [06:44:05.279] {main} com.caucho.amber.AmberRuntimeException: 'imba.db.Movie' with classloader EnvironmentClassLoader[web-app:http://localhost:8080/resintest] [^] is an illegal instance class [06:44:05.279] {main} at com.caucho.amber.type.AbstractEnhancedType.getInstanceClass(AbstractEnhancedType.java:287) [06:44:05.279] {main} at com.caucho.amber.type.EntityType.getInstanceClass(EntityType.java:58) [06:44:05.279] {main} at com.caucho.amber.entity.AmberEntityHome.init(AmberEntityHome.java:186) [06:44:05.279] {main} at com.caucho.amber.manager.AmberPersistenceUnit.initEntityHomes(AmberPersistenceUnit.java:1398) [06:44:05.279] {main} at com.caucho.amber.manager.AmberContainer.startPersistenceUnits(AmberContainer.java:809) [06:44:05.279] {main} at com.caucho.amber.manager.AmberContainer.start(AmberContainer.java:567) [06:44:05.279] {main} at com.caucho.config.j2ee.InjectIntrospector.generatePersistenceContext(InjectIntrospector.java:476) [06:44:05.279] {main} at com.caucho.config.j2ee.InjectIntrospector.introspect(InjectIntrospector.java:377) [06:44:05.279] {main} at com.caucho.config.j2ee.InjectIntrospector.introspectInjectImpl(InjectIntrospector.java:210) [06:44:05.279] {main} at com.caucho.config.j2ee.InjectIntrospector.introspectInject(InjectIntrospector.java:183) [06:44:05.279] {main} at com.caucho.webbeans.component.ClassComponent.bind(ClassComponent.java:390) [06:44:05.279] {main} at com.caucho.webbeans.cfg.WbWebBeans.bind(WbWebBeans.java:285) [06:44:05.279] {main} at com.caucho.webbeans.manager.WebBeansContainer.bind(WebBeansContainer.java:958) [06:44:05.279] {main} at com.caucho.webbeans.manager.WebBeansContainer.environmentStart(WebBeansContainer.java:995) [06:44:05.279] {main} at com.caucho.loader.EnvironmentClassLoader.start(EnvironmentClassLoader.java:572) [06:44:05.279] {main} at com.caucho.server.webapp.WebApp.start(WebApp.java:1823) [06:44:05.279] {main} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:667) [06:44:05.279] {main} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72) [06:44:05.279] {main} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549) [06:44:05.279] {main} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160) [06:44:05.279] {main} at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:659) [06:44:05.279] {main} at com.caucho.server.host.Host.start(Host.java:437) [06:44:05.279] {main} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:667) [06:44:05.279] {main} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72) [06:44:05.279] {main} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549) [06:44:05.279] {main} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160) [06:44:05.279] {main} at com.caucho.server.host.HostContainer.start(HostContainer.java:484) [06:44:05.279] {main} at com.caucho.server.cluster.Server.start(Server.java:1217) [06:44:05.279] {main} at com.caucho.server.cluster.Cluster.startServer(Cluster.java:710) [06:44:05.279] {main} at com.caucho.server.cluster.ClusterServer.startServer(ClusterServer.java:528) [06:44:05.279] {main} at com.caucho.server.resin.Resin.start(Resin.java:695) [06:44:05.279] {main} at com.caucho.server.resin.Resin.initMain(Resin.java:1139) [06:44:05.279] {main} at com.caucho.server.resin.Resin.main(Resin.java:1341) When the components @Component annotation is removed the web-app works (and the persistence beans are properly enhanced), but of course the components are not available. To me it looks like the initialization order is wrong and that the Amber container should be started before any webbeans are loaded. Now a webbean that references the imba.db.Movie bean is loaded, the Amber is trying to enhance it, but since the original class is already loaded it fails to enhance it. |
||||
Steps To Reproduce: | |||||
Additional Information: | Tested on both 3.1.5 and 3.1.6 (3.1.s080417). | ||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|