]
Russ Egan commented on HHH-2141:
--------------------------------
I think I see how this can happen. It requires a specific set of circumstances:
1. The classloader for hibernate classes must be different than the classloader for your
persistant classes.
2. The persistent class must be an interface.
To reproduce, deploy an ear in JBoss 4.2.1, and make the ear's classloader isolated.
Then map table to an interface, as above.
Even then, the problem will only happen intermittently. Here's the cause:
Look at the code for JavassistLazyInitializer.getProxyFactory (lines 134-138 in hibernate
3.2.4.sp1). Note how it only sets factory.superclass if the number of proxy interfaces is
1. If the number of interfaces is 1, the superclass is set to the persistentclass.
Now look in ProxyFactory.getClassLoader0():
protected ClassLoader getClassLoader0() {
ClassLoader loader = null;
if (superClass != null &&
!superClass.getName().equals("java.lang.Object"))
loader = superClass.getClassLoader();
else if (interfaces != null && interfaces.length > 0)
loader = interfaces[0].getClassLoader();
if (loader == null) {
loader = getClass().getClassLoader();
// In case javassist is in the endorsed dir
if (loader == null) {
loader = Thread.currentThread().getContextClassLoader();
if (loader == null)
loader = ClassLoader.getSystemClassLoader();
}
}
return loader;
}
See how it first tries to use the superclass' classloader, and failing that, it tries
the classloader of the first proxy interface? In the case where the proxy interface
set.length=1, ProxyFactory.superclass is set to the persistantClass. This is good,
because the persistentClass's classloader can probably load all your application's
classes. But in cases where the proxy interface set's length > 1,
ProxyFactory.superclass is not set, and ProxyFactory will just use the classloader of the
first interface proxy. Trouble is, that set if interface proxies usually contains one or
more of your application's interfaces, as well as HibernateProxy, an interface defined
in the hibernate libraries. (You can see how the set of interface proxies is built in
org.hibernate.tuple.entity.PojoEntityTuplizer#buildProxyFactory()).
If HibernateProxy is the first interface in ProxyFactory.interfaces[], then its
classloader will be used. But that classloader is the one used to load hibernate, which
in many cases will not have visibility to you application's classes, hence the
NoClassDefFoundError.
Also, this will happen randomly, because it is indeterminant which interface is the first
one in that ProxyFactory.interfaces[] array. That array is built from an unordered Set
(JavassistProxyFactory.postInstantiate() line 38). So sometimes your app's interface
will be first, and it will work, but sometimes HibernateProxy is first, and you get the
NoClassDefFoundError.
Looks like as a workaround, map to a concrete class rather than an interface. The fix
looks like either ordering the ProxyFactory.interfaces[] array, or overriding how
ProxyFactory gets its classloader (probably the most correct approach), which can be done
by setting ProxyFactory.classLoaderProvider. Annoyingly, this is a static variable, so
this isn't a thread-safe approach. Another approach is subclassing ProxyFactory and
overriding getClassLoader().
problem with JavaAssist
------------------------
Key: HHH-2141
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2141
Project: Hibernate3
Issue Type: Bug
Affects Versions: 3.2.0.cr2
Reporter: Ramil Israfilov
I have an Java interface:
public interface Credentials {
public long getId();
public void setId(long id);
Object getCredentialsForProtocol(String protocol) throws ProtocolException;
}
and implementation class:
-------
public class BasicCredentials implements Serializable, Credentials {
private long id;
private String username;
private String password;
private static final Log log = LogFactory.getLog(BasicCredentials.class);
public BasicCredentials() {
super();
}
public BasicCredentials(String username, String password) {
super();
this.username = username;
this.password = password;
}
/**
* @return Returns the password.
*/
public String getPassword() {
return password;
}
/**
* @param password
* The password to set.
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return Returns the username.
*/
public String getUsername() {
return username;
}
/**
* @param username
* The username to set.
*/
public void setUsername(String username) {
this.username = username;
}
public Object getCredentialsForProtocol(String protocol) {
if (protocol != null && protocol.equalsIgnoreCase("HTTP")) {
return new UsernamePasswordCredentials(username, password);
}
log.error("Unsupported protoco:" + protocol);
return null;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
----
Also I have an Credentials.hbm.xml file:
<hibernate-mapping package="be.certipost.comms.accessclient">
<class name="Credentials" table="COMMS$CREDENTIALS">
<id name="id" type="long" unsaved-value="0">
<generator class="native"/>
</id>
<discriminator column="CREDENTIALS_TYPE" type="string"/>
<subclass name="BasicCredentials" discriminator-value="BC">
<property name="username" lazy="false"
generated="never" type="string"></property>
<property name="password" lazy="false"
generated="never" type="string"></property>
</subclass>
</class>
</hibernate-mapping>
I have deployed those claases and mapping to JBOSS 4.0.4GA: I construct EAR file which
contains inside JAR file with my classes and hbm file.
And during deploying I got error:
2006-10-12 10:37:32,350 INFO [org.hibernate.cfg.Environment] Hibernate 3.2 cr2
2006-10-12 10:37:32,365 INFO [org.hibernate.cfg.Environment] hibernate.properties not
found
2006-10-12 10:37:32,381 INFO [org.hibernate.cfg.Environment] Bytecode provider name :
javassist
2006-10-12 10:37:32,381 INFO [org.hibernate.cfg.Environment] using JDK 1.4
java.sql.Timestamp handling
2006-10-12 10:37:32,506 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: commons-lang-2.1.jar
2006-10-12 10:37:32,506 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: datatools.jar
2006-10-12 10:37:32,506 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: ejb3-persistence.jar
2006-10-12 10:37:32,506 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: jsr173_api.jar
2006-10-12 10:37:32,506 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: CertioneCommsClient.jar
2006-10-12 10:37:32,521 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/DataInstructions.hbm.xml
2006-10-12 10:37:32,771 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.DataInstructions -> COMMS$METADATAS
2006-10-12 10:37:32,818 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/Request.hbm.xml
2006-10-12 10:37:32,943 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.Request -> COMMS$REQUESTS
2006-10-12 10:37:32,959 INFO [org.hibernate.cfg.HbmBinder] Mapping collection:
be.certipost.comms.Request.acks -> COMMS$REQ_ACKS
2006-10-12 10:37:33,193 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/Response.hbm.xml
2006-10-12 10:37:33,256 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.Response -> COMMS$RESPONSES
2006-10-12 10:37:33,256 INFO [org.hibernate.cfg.HbmBinder] Mapping collection:
be.certipost.comms.Response.acks -> COMMS$RESP_ACKS
2006-10-12 10:37:33,256 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/Session.hbm.xml
2006-10-12 10:37:33,506 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.Session -> COMMS$SESSIONS
2006-10-12 10:37:33,506 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/accessclient/Credentials.hbm.xml
2006-10-12 10:37:33,600 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.accessclient.Credentials -> COMMS$CREDENTIALS
2006-10-12 10:37:33,771 INFO [org.hibernate.cfg.HbmBinder] Mapping subclass:
be.certipost.comms.accessclient.BasicCredentials -> COMMS$CREDENTIALS
2006-10-12 10:37:33,771 INFO [org.hibernate.cfg.Configuration] Found mapping document in
jar: be/certipost/comms/accessclient/config/ClientProperties.hbm.xml
2006-10-12 10:37:33,818 INFO [org.hibernate.cfg.HbmBinder] Mapping class:
be.certipost.comms.accessclient.config.ClientProperties -> COMMS$CLIENTPROPERTIES
2006-10-12 10:37:33,818 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: hibernate-annotations.jar
2006-10-12 10:37:33,834 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: quartz-all-1.5.2.jar
2006-10-12 10:37:33,834 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: jaxb-impl.jar
2006-10-12 10:37:33,850 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: jaxb-api.jar
2006-10-12 10:37:33,850 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: activation.jar
2006-10-12 10:37:33,865 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: commons-httpclient-3.0.1.jar
2006-10-12 10:37:33,865 INFO [org.hibernate.cfg.Configuration] Searching for mapping
documents in jar: tmp38363CertioneCommsClient.ear
2006-10-12 10:37:33,865 INFO [org.hibernate.cfg.HbmBinder] Mapping collection:
be.certipost.comms.Session.requests -> COMMS$REQUESTS
2006-10-12 10:37:33,959 INFO [org.hibernate.util.NamingHelper] JNDI InitialContext
properties:{}
2006-10-12 10:37:33,959 INFO [org.hibernate.connection.DatasourceConnectionProvider]
Using datasource: java:/CertioneCommsDS
2006-10-12 10:37:33,975 INFO [org.hibernate.cfg.SettingsFactory] RDBMS: HSQL Database
Engine, version: 1.8.0
2006-10-12 10:37:33,975 INFO [org.hibernate.cfg.SettingsFactory] JDBC driver: HSQL
Database Engine Driver, version: 1.8.0
2006-10-12 10:37:34,021 INFO [org.hibernate.dialect.Dialect] Using dialect:
org.hibernate.dialect.HSQLDialect
2006-10-12 10:37:34,021 INFO [org.hibernate.transaction.TransactionFactoryFactory]
Transaction strategy: org.hibernate.transaction.JTATransactionFactory
2006-10-12 10:37:34,037 INFO [org.hibernate.util.NamingHelper] JNDI InitialContext
properties:{}
2006-10-12 10:37:34,037 INFO [org.hibernate.transaction.TransactionManagerLookupFactory]
instantiating TransactionManagerLookup:
org.hibernate.transaction.JBossTransactionManagerLookup
2006-10-12 10:37:34,037 INFO [org.hibernate.transaction.TransactionManagerLookupFactory]
instantiated TransactionManagerLookup
2006-10-12 10:37:34,037 INFO [org.hibernate.transaction.TransactionManagerLookupFactory]
instantiating TransactionManagerLookup:
org.hibernate.transaction.JBossTransactionManagerLookup
2006-10-12 10:37:34,037 INFO [org.hibernate.transaction.TransactionManagerLookupFactory]
instantiated TransactionManagerLookup
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] Automatic flush during
beforeCompletion(): enabled
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] Automatic session close
at end of transaction: enabled
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] JDBC batch size: 15
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] JDBC batch updates for
versioned data: enabled
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] Scrollable result sets:
enabled
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] JDBC3
getGeneratedKeys(): disabled
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] Connection release
mode: after_statement
2006-10-12 10:37:34,037 INFO [org.hibernate.cfg.SettingsFactory] Maximum outer join
fetch depth: 5
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Default batch fetch
size: 1
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Generate SQL with
comments: disabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Order SQL updates by
primary key: disabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Query translator:
org.hibernate.hql.ast.ASTQueryTranslatorFactory
2006-10-12 10:37:34,053 INFO [org.hibernate.hql.ast.ASTQueryTranslatorFactory] Using
ASTQueryTranslatorFactory
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Query language
substitutions: {}
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Second-level cache:
enabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Query cache: enabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Cache provider:
org.hibernate.cache.HashtableCacheProvider
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Optimize cache for
minimal puts: disabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Structured second-level
cache entries: disabled
2006-10-12 10:37:34,053 INFO [org.hibernate.cfg.SettingsFactory] Query cache factory:
org.hibernate.cache.StandardQueryCacheFactory
2006-10-12 10:37:34,068 INFO [org.hibernate.cfg.SettingsFactory] Statistics: disabled
2006-10-12 10:37:34,084 INFO [org.hibernate.cfg.SettingsFactory] Deleted entity
synthetic identifier rollback: disabled
2006-10-12 10:37:34,084 INFO [org.hibernate.cfg.SettingsFactory] Default entity-mode:
pojo
2006-10-12 10:37:34,131 INFO [org.hibernate.impl.SessionFactoryImpl] building session
factory
2006-10-12 10:37:34,506 ERROR [org.hibernate.proxy.pojo.BasicLazyInitializer] Javassist
Enhancement failed: be.certipost.comms.accessclient.Credentials
java.lang.RuntimeException: by java.lang.NoClassDefFoundError:
be/certipost/comms/accessclient/Credentials
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:174)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:141)
at
org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:42)
at
org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:159)
at
org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:50)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:256)
at
org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:418)
at
org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
at
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:223)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213)
at org.jboss.hibernate.jmx.Hibernate.buildSessionFactory(Hibernate.java:231)
at org.jboss.hibernate.jmx.Hibernate.startService(Hibernate.java:155)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy37.start(Unknown Source)
at org.jboss.deployment.XSLSubDeployer.start(XSLSubDeployer.java:197)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:997)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy8.deploy(Unknown Source)
at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:755)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
at org.jboss.Main.boot(Main.java:200)
at org.jboss.Main$1.run(Main.java:464)
at java.lang.Thread.run(Thread.java:595)
Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError:
be/certipost/comms/accessclient/Credentials
at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:167)
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:170)
... 126 more
Caused by: java.lang.NoClassDefFoundError: be/certipost/comms/accessclient/Credentials
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
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 javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:159)
... 127 more
2006-10-12 10:37:34,615 WARN [org.hibernate.tuple.PojoEntityTuplizer] could not create
proxy factory for:be.certipost.comms.accessclient.Credentials
org.hibernate.HibernateException: Javassist Enhancement failed:
be.certipost.comms.accessclient.Credentials
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:149)
at
org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:42)
at
org.hibernate.tuple.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:159)
at
org.hibernate.tuple.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:131)
at org.hibernate.tuple.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:50)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
at org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:256)
at
org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:418)
at
org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:108)
at
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:223)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213)
at org.jboss.hibernate.jmx.Hibernate.buildSessionFactory(Hibernate.java:231)
at org.jboss.hibernate.jmx.Hibernate.startService(Hibernate.java:155)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy37.start(Unknown Source)
at org.jboss.deployment.XSLSubDeployer.start(XSLSubDeployer.java:197)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:997)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy8.deploy(Unknown Source)
at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
at
org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:755)
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:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
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:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
at org.jboss.Main.boot(Main.java:200)
at org.jboss.Main$1.run(Main.java:464)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.RuntimeException: by java.lang.NoClassDefFoundError:
be/certipost/comms/accessclient/Credentials
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:174)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:141)
... 125 more
Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError:
be/certipost/comms/accessclient/Credentials
at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:167)
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:170)
... 126 more
Caused by: java.lang.NoClassDefFoundError: be/certipost/comms/accessclient/Credentials
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
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 javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:159)
... 127 more
Strange thing that tables are created and credentials objects persisted correctly.
It is starnge that I got ERROR in log files.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: