You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by KBerthelot <kb...@edgenet.com> on 2006/10/04 22:34:20 UTC
serviceInterface attribute not working for Jsr181 endpoint
I am deploying a jsr181 endpoint using the following configuration:
<beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
xmlns:edgenet="http://edgenet.com">
<classpath>
<location>.</location>
<location>lib/acegi-security-1.0.1.jar</location>
<location>lib/commons-beanutils-1.7.0.jar</location>
<location>lib/commons-collections-3.1.jar</location>
<location>lib/commons-digester-1.7.jar</location>
<location>lib/commons-logging-1.0.4.jar</location>
<location>lib/edgenet-ioc-1.0.jar</location>
<location>lib/spring-2.0-m5.jar</location>
<location>lib/xbean-spring-2.4.jar</location>
<location>lib/xbean-spring-common-2.4.jar</location>
<location>lib/xbean-spring-v2-2.4.jar</location>
<location>lib/xml-apis-1.0.b2.jar</location>
<location>lib/SecurityService-0.0.1.jar</location>
</classpath>
<jsr181:endpoint
pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
style="wrapped"
service="edgenet:SecurityService"
endpoint="securityJsr181Endpoint"/>
</beans>
This works perfectly. However, if I add a serviceInterface attribute that
contains a java interface located in the same package as the pojoClass (and
I've verified that it's in the .jar as well):
<jsr181:endpoint
pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
style="wrapped"
service="edgenet:SecurityService"
serviceInterface="com.edgenet.service.security.acegi.SecurityService"
endpoint="securityJsr181Endpoint"/>
I get a ClassNotFoundException for the interface class:
java.lang.ClassNotFoundException:
com.edgenet.service.security.acegi.SecurityService in classloader
com.edgenet.service.security.acegi.SecurityService
at
org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at
org.apache.servicemix.jsr181.Jsr181Endpoint.registerService(Jsr181Endpoint.java:202)
.
.
.
Is there something special I should know about using the serviceInterface
attribute for a jsr181 endpoint?
--
View this message in context: http://www.nabble.com/serviceInterface-attribute-not-working-for-Jsr181-endpoint-tf2384865.html#a6647778
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: serviceInterface attribute not working for Jsr181 endpoint
Posted by KBerthelot <kb...@edgenet.com>.
done: https://issues.apache.org/activemq/browse/SM-678
https://issues.apache.org/activemq/browse/SM-678
gnodet wrote:
>
> It seems the component does not use the SU classloader to load
> the service interface :(
> Could you raise a JIRA ? I will fix it asap.
>
> On 10/4/06, KBerthelot <kb...@edgenet.com> wrote:
>>
>> I am deploying a jsr181 endpoint using the following configuration:
>>
>> <beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
>> xmlns:edgenet="http://edgenet.com">
>>
>> <classpath>
>> <location>.</location>
>> <location>lib/acegi-security-1.0.1.jar</location>
>> <location>lib/commons-beanutils-1.7.0.jar</location>
>> <location>lib/commons-collections-3.1.jar</location>
>> <location>lib/commons-digester-1.7.jar</location>
>> <location>lib/commons-logging-1.0.4.jar</location>
>> <location>lib/edgenet-ioc-1.0.jar</location>
>> <location>lib/spring-2.0-m5.jar</location>
>> <location>lib/xbean-spring-2.4.jar</location>
>> <location>lib/xbean-spring-common-2.4.jar</location>
>> <location>lib/xbean-spring-v2-2.4.jar</location>
>> <location>lib/xml-apis-1.0.b2.jar</location>
>> <location>lib/SecurityService-0.0.1.jar</location>
>> </classpath>
>>
>> <jsr181:endpoint
>> pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
>> style="wrapped"
>> service="edgenet:SecurityService"
>> endpoint="securityJsr181Endpoint"/>
>>
>> </beans>
>>
>>
>> This works perfectly. However, if I add a serviceInterface attribute
>> that
>> contains a java interface located in the same package as the pojoClass
>> (and
>> I've verified that it's in the .jar as well):
>>
>> <jsr181:endpoint
>> pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
>> style="wrapped"
>> service="edgenet:SecurityService"
>>
>> serviceInterface="com.edgenet.service.security.acegi.SecurityService"
>> endpoint="securityJsr181Endpoint"/>
>>
>>
>> I get a ClassNotFoundException for the interface class:
>>
>> java.lang.ClassNotFoundException:
>> com.edgenet.service.security.acegi.SecurityService in classloader
>> com.edgenet.service.security.acegi.SecurityService
>> at
>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:164)
>> at
>> org.apache.servicemix.jsr181.Jsr181Endpoint.registerService(Jsr181Endpoint.java:202)
>> .
>> .
>> .
>>
>> Is there something special I should know about using the serviceInterface
>> attribute for a jsr181 endpoint?
>> --
>> View this message in context:
>> http://www.nabble.com/serviceInterface-attribute-not-working-for-Jsr181-endpoint-tf2384865.html#a6647778
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
>
>
--
View this message in context: http://www.nabble.com/serviceInterface-attribute-not-working-for-Jsr181-endpoint-tf2384865.html#a6658086
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: serviceInterface attribute not working for Jsr181 endpoint
Posted by Guillaume Nodet <gn...@gmail.com>.
It seems the component does not use the SU classloader to load
the service interface :(
Could you raise a JIRA ? I will fix it asap.
On 10/4/06, KBerthelot <kb...@edgenet.com> wrote:
>
> I am deploying a jsr181 endpoint using the following configuration:
>
> <beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
> xmlns:edgenet="http://edgenet.com">
>
> <classpath>
> <location>.</location>
> <location>lib/acegi-security-1.0.1.jar</location>
> <location>lib/commons-beanutils-1.7.0.jar</location>
> <location>lib/commons-collections-3.1.jar</location>
> <location>lib/commons-digester-1.7.jar</location>
> <location>lib/commons-logging-1.0.4.jar</location>
> <location>lib/edgenet-ioc-1.0.jar</location>
> <location>lib/spring-2.0-m5.jar</location>
> <location>lib/xbean-spring-2.4.jar</location>
> <location>lib/xbean-spring-common-2.4.jar</location>
> <location>lib/xbean-spring-v2-2.4.jar</location>
> <location>lib/xml-apis-1.0.b2.jar</location>
> <location>lib/SecurityService-0.0.1.jar</location>
> </classpath>
>
> <jsr181:endpoint
> pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
> style="wrapped"
> service="edgenet:SecurityService"
> endpoint="securityJsr181Endpoint"/>
>
> </beans>
>
>
> This works perfectly. However, if I add a serviceInterface attribute that
> contains a java interface located in the same package as the pojoClass (and
> I've verified that it's in the .jar as well):
>
> <jsr181:endpoint
> pojoClass="com.edgenet.service.security.acegi.AcegiSecurityService"
> style="wrapped"
> service="edgenet:SecurityService"
>
> serviceInterface="com.edgenet.service.security.acegi.SecurityService"
> endpoint="securityJsr181Endpoint"/>
>
>
> I get a ClassNotFoundException for the interface class:
>
> java.lang.ClassNotFoundException:
> com.edgenet.service.security.acegi.SecurityService in classloader
> com.edgenet.service.security.acegi.SecurityService
> at
> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:164)
> at
> org.apache.servicemix.jsr181.Jsr181Endpoint.registerService(Jsr181Endpoint.java:202)
> .
> .
> .
>
> Is there something special I should know about using the serviceInterface
> attribute for a jsr181 endpoint?
> --
> View this message in context: http://www.nabble.com/serviceInterface-attribute-not-working-for-Jsr181-endpoint-tf2384865.html#a6647778
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet