Hi ServiceMix Users,

I ran into the "SpringProxy is not visible from class loader" issue
discussed a couple years ago in a different context were I configure a
JndiObject to be resolved later (when the contained reference is resolved).

Here the example config (excerpt):
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true" >
<property name="jndiName" value="osgi:service/javax.sql.DataSource/(
osgi.jndi.service.name=jdbc/isbPortal)" />
<property name="cache" value="false"/>
<property name="lookupOnStartup" value="false" />
<property name="proxyInterface" value="javax.sql.DataSource"/>
</bean>

The following imports are declared for maven-bundle-plugin (via referenced
bnd file):
Import-Package:  \
javax.sql;resolution:=optional,\
org.aopalliance.aop,\
org.springframework.aop,\
org.springframework.aop.framework,\
org.springframework.jndi,\
org.springframework.beans.factory.support,\
*

But on Spring Context Creation the following stack is created:
...
Caused by: java.lang.IllegalArgumentException: interface
org.springframework.aop.SpringProxy is not visible from class loader
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:615)
[na:1.7.0_60]
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:591)
[na:1.7.0_60]
at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:244) [na:1.7.0_60]
at java.lang.reflect.WeakCache.get(WeakCache.java:141) [na:1.7.0_60]
at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:454) [na:1.7.0_60]
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:736) [na:1.7.0_60]
at
org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:119)
[org.apache.servicemix.bundles.spring-aop:3.2.11.RELEASE_1]
at
org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:109)
[org.apache.servicemix.bundles.spring-aop:3.2.11.RELEASE_1]
at
org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.createJndiObjectProxy(JndiObjectFactoryBean.java:339)
[org.apache.servicemix.bundles.spring-context:3.2.11.RELEASE_1]
at
org.springframework.jndi.JndiObjectFactoryBean$JndiObjectProxyFactory.access$000(JndiObjectFactoryBean.java:304)
[org.apache.servicemix.bundles.spring-context:3.2.11.RELEASE_1]
at
org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:200)
[org.apache.servicemix.bundles.spring-context:3.2.11.RELEASE_1]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573)
[org.apache.servicemix.bundles.spring-beans:3.2.11.RELEASE_1]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511)
[org.apache.servicemix.bundles.spring-beans:3.2.11.RELEASE_1]
... 60 common frames omitted

Using ServiceMix 5.3.1 with spring/3.2.11.RELEASE_1 feature installed.

Any idea what I am missing ?

Thanks and Regards,
Michael

Reply via email to