Anonymous | Login | Signup for a new account | 12-17-2024 08:38 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0002613 | [Resin] | major | always | 04-20-08 21:57 | 04-22-08 09:50 | ||||
Reporter | markus | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product 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. |
||||||||
Additional Information | Tested on both 3.1.5 and 3.1.6 (3.1.s080417). | ||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed. 26 unique queries executed. |