Here are the stack traces of the locked threads (copied from Eclipse's debugger, after
suspending them):
------------------------ Thread 1 ----------------
Thread [TotalRecordings Thread] (Suspended)
ClassLoader.findBootstrapClass(String) line: not available [native method]
Launcher$ExtClassLoader(ClassLoader).findBootstrapClass0(String) line: 891
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: 301
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 299
Launcher$AppClassLoader.loadClass(String, boolean) line: 268
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 251
Launcher$AppClassLoader(ClassLoader).loadClassInternal(String) line: 319
ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain, String) line: not
available [native method]
Launcher$AppClassLoader(ClassLoader).defineClass(String, byte[], int, int,
ProtectionDomain) line: 620
Launcher$AppClassLoader(SecureClassLoader).defineClass(String, byte[], int, int,
CodeSource) line: 124
Launcher$AppClassLoader(URLClassLoader).defineClass(String, Resource) line: 260
URLClassLoader.access$100(URLClassLoader, String, Resource) line: 56
URLClassLoader$1.run() line: 195
AccessController.doPrivileged(PrivilegedExceptionAction, AccessControlContext) line: not
available [native method]
Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 188
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 306
Launcher$AppClassLoader.loadClass(String, boolean) line: 268
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 251
Launcher$AppClassLoader(ClassLoader).loadClassInternal(String) line: 319
CommonObjectUtil.(boolean) line: 34
CommonObjectUtil.() line: 41
JsonSerializer(AbstractSerializer).() line: 20
JsonSerializer.() line: 27
ObjectToJsonSerializer.() line: 10
TotalRecordingsMessageHandler.onMessage(Object) line: 42
TotalRecordings.run() line: 86
Thread.run() line: 595
------------------- Thread 2 -----------------------------
Thread [ShopModule Thread] (Suspended)
ClassicWeavingStrategy.translate(AspectManager, String, ClassLoader, byte[]) line: 69
AspectManager.translate(String, ClassLoader, byte[]) line: 887
AspectManager.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line: 830
AOPTransformer.aspectTransform(String, ClassLoader, Class<?>, ProtectionDomain,
byte[]) line: 88
AOPTransformer.transform(ClassLoader, String, Class<?>, ProtectionDomain, byte[])
line: 75
TransformerManager.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line:
122
InstrumentationImpl.transform(ClassLoader, String, Class, ProtectionDomain, byte[]) line:
155
Proxy.defineClass0(ClassLoader, String, byte[], int, int) line: not available [native
method]
Proxy.getProxyClass(ClassLoader, Class<?>...) line: 487
Proxy.newProxyInstance(ClassLoader, Class<?>[], InvocationHandler) line: 564
AnnotationParser.annotationForMap(Class, Map<String,Object>) line: 223
AnnotationParser.parseAnnotation(ByteBuffer, ConstantPool, Class) line: 213
AnnotationParser.parseAnnotations2(byte[], ConstantPool, Class) line: 69
AnnotationParser.parseAnnotations(byte[], ConstantPool, Class) line: 52
Class.initAnnotationsIfNecessary() line: 2998
Class.getAnnotation(Class) line: 2958
AnnotationType.(Class<?>) line: 104
AnnotationType.getInstance(Class) line: 64
AnnotationParser.parseAnnotation(ByteBuffer, ConstantPool, Class) line: 186
AnnotationParser.parseAnnotations2(byte[], ConstantPool, Class) line: 69
AnnotationParser.parseAnnotations(byte[], ConstantPool, Class) line: 52
Class.initAnnotationsIfNecessary() line: 2998
Class.getAnnotation(Class) line: 2958
AnnotationElement.getVisibleAnnotation(Class, Class) line: 88
PortableAnnotationElement.getAnyAnnotation(Class, Class) line: 402
AdvisorMatcherStrategy(MatcherStrategy).subtypeOf(Class, ClassExpression, Advisor) line:
63
Util.subtypeOf(Class, ClassExpression, Advisor) line: 413
Util.matchesClassExpr(ClassExpression, Class, Advisor) line: 124
InterfaceIntroduction.matches(Advisor, Class) line: 234
AspectManager.applyInterfaceIntroductions(Advisor, Class) line: 1580
ClassAdvisor$1.run() line: 289
AccessController.doPrivileged(PrivilegedExceptionAction) line: not available [native
method]
ClassAdvisor.attachClass(Class) line: 272
AspectManager.initialiseClassAdvisor(Class, ClassAdvisor) line: 600
AspectManager.getAdvisor(Class) line: 587
Product.() line: 20
ShopModule.run() line: 34
Thread.run() line: 595
--------------------------------------------------
I'm not sure how feasible it'd be for me to deploy the application on a JBoss
application server. It's not a J2EE (or even a web) application, and I have a feeling
that trying to deploy it can potentially make me bounce into some tricky problems because
of the use of native libraries and some components which may behave differently under an
application server (e.g. a JMS broker). Perhaps there is a way to use JBoss's
ClassLoader without deploying on the server?
Other than that, if the ClassLoader is related, it worth mentioning that we're using
Sun's j2sdk-1.5.0_05.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991299#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...