Issue Details (XML | Word | Printable)

Key: HIVEMIND-55
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Howard M. Lewis Ship
Reporter: Howard M. Lewis Ship
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
HiveMind

LoggingInterceptor fails if a a JDK proxy is next

Created: 14/Sep/04 05:13 PM   Updated: 14/Sep/04 06:00 PM
Return to search
Component/s: None
Affects Version/s: 1.0
Fix Version/s: 1.0, 1.1

Time Tracking:
Not Specified

Resolution Date: 14/Sep/04 06:00 PM


 Description  « Hide
If the LoggingInterceptor attempts to create an interceptor around another interceptor, and that interceptor creates a JDK proxy (rather than a Java class), then an exception is thrown:

org.apache.hivemind.ApplicationRuntimeException: Unable to construct service doconline.Adder: Unable to lookup $Proxy0: $Proxy0
       at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:156)
......
Caused by: org.apache.hivemind.ApplicationRuntimeException: Unable to lookup $Proxy0: $Proxy0
       at org.apache.hivemind.service.impl.CtClassSource.getCtClass(CtClassSource.java:60)
       at org.apache.hivemind.service.impl.ClassFabImpl.addField(ClassFabImpl.java:71)
       at org.apache.hivemind.service.impl.LoggingInterceptorFactory.createInfrastructure(LoggingInterceptorFactory.java:236)
......
Caused by: javassist.NotFoundException: $Proxy0
       at javassist.ClassPoolTail.openClassfile(ClassPoolTail.java:300)
       at javassist.ClassPoolTail.checkClassName(ClassPoolTail.java:177)
       at javassist.ClassPool.checkClassName(ClassPool.java:709)
       at javassist.ClassPool.get0(ClassPool.java:572)
       at javassist.ClassPool.get(ClassPool.java:561)
       at org.apache.hivemind.service.impl.CtClassSource.getCtClass(CtClassSource.java:56)
       ... 48 more

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #189241 Tue Sep 14 17:48:26 UTC 2004 hlship HIVEMIND-55: Make fabricated classes work with JDK proxies.
Files Changed
MODIFY /jakarta/hivemind/branches/branch-1-0/framework/src/java/org/apache/hivemind/service/impl/LoggingInterceptorFactory.java
ADD /jakarta/hivemind/branches/branch-1-0/framework/src/test/org/apache/hivemind/service/impl/TestLoggingInterceptorFactory.java
MODIFY /jakarta/hivemind/branches/branch-1-0/status.xml
ADD /jakarta/hivemind/branches/branch-1-0/framework/src/test/org/apache/hivemind/service/impl/TestClassFabUtils.java
MODIFY /jakarta/hivemind/branches/branch-1-0/library/src/java/org/apache/hivemind/lib/impl/ServicePropertyFactory.java
MODIFY /jakarta/hivemind/branches/branch-1-0/framework/src/java/org/apache/hivemind/service/ClassFabUtils.java

Howard M. Lewis Ship made changes - 14/Sep/04 05:49 PM
Field Original Value New Value
Status Open [ 1 ] In Progress [ 3 ]
Repository Revision Date User Message
ASF #189242 Tue Sep 14 17:56:51 UTC 2004 hlship HIVEMIND-55: Make fabricated classes work with JDK proxies.
Files Changed
MODIFY /jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/ClassFabUtils.java
MODIFY /jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ServicePropertyFactory.java
MODIFY /jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/service/impl/LoggingInterceptorFactory.java
MODIFY /jakarta/hivemind/trunk/status.xml
ADD /jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/service/impl/TestLoggingInterceptorFactory.java
ADD /jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/service/impl/TestClassFabUtils.java

Howard M. Lewis Ship added a comment - 14/Sep/04 06:00 PM
Fixed for the 1.0 release candidate, and in CVS HEAD (1.1).
Added a getInstanceClass() method to ClassFabUtils.
Update LoggingInterceptor and ServicePropertyFactory (based on a search for ClassFab.addField() ).

Howard M. Lewis Ship made changes - 14/Sep/04 06:00 PM
Resolution Fixed [ 1 ]
Status In Progress [ 3 ] Closed [ 6 ]
Fix Version/s 1.1 [ 10812 ]