|
Mantis - Resin
|
|||||
| Viewing Issue Advanced Details | |||||
|
|
|||||
| ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
| 2556 | minor | always | 03-26-08 13:40 | 03-27-08 08:58 | |
|
|
|||||
| Reporter: | ferg | Platform: | |||
| Assigned To: | ferg | OS: | |||
| Priority: | normal | OS Version: | |||
| Status: | closed | Product Version: | 3.1.5 | ||
| Product Build: | Resolution: | fixed | |||
| Projection: | none | ||||
| ETA: | none | Fixed in Version: | 3.1.6 | ||
|
|
|||||
| Summary: | 0002556: jmx invocation with classloader | ||||
| Description: |
(rep by Karl Goldstein) have a Spring-managed MBean that I would like to register with the resin MBeanServer (the one bound to "java:comp/env/jmx/ MBeanServer" in JNDI). This MBean defines some operations to query and update some metadata in the database, using Hibernate/JPA. The MBean registers fine and I can see it in jconsole in the right place. However, when I tried to invoke an operation, I received an error. The underlying exception was this: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader Loading the Hibernate and Spring jars in the parent classloader solved the immediate problem: <resin xmlns="http://caucho.com/ns/resin" [^] xmlns:resin="http://caucho.com/ns/resin/core"> [^] <class-loader> <tree-loader path="lib"/> <tree-loader path="/path/to/my/webapp/WEB-INF/lib/"/> </class-loader> ... However, I'd rather not do this because I want to retain the ability to deploy multiple webapps with different versions of dependencies like Spring and Hibernate (mainly so we can deploy a new version of our webapp and leave the old one untouched so we have a fallback). Is there some way to make it so that mbeans are registered and invoked in the classloader of the webapp that registered them? |
||||
| Steps To Reproduce: | |||||
| Additional Information: | |||||
| Relationships | |||||
| Attached Files: |
|
||||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||