EJB LOOKUP in grails application

Latest response

I am trying to do an EJB LOOKUP from grails application in Jboss AS7 and I am getting the following error. Please help have been unable to resolve this issue from last 3 days.

I have deployed this EJB in my Jboss server and it got deployed successfully. I have trying to migrate my application from Jboss4.2 to Jboss 7

IN JBOSS4.2 this configuration worked fine

{ addressManagerLocalBean(org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean) {
jndiName = "AddressManager/local"
businessInterface = "com.aviva.ukhe.address.validation.service.AddressManager"
}

In Jboss AS7 /EAP 6 This configuration is giving error

addressManagerLocalBean(org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean) {
jndiName = "java:global/AddressValidationService/AddressManager!com.aviva.ukhe.address.validation.service.AddressManager"
businessInterface = "com.aviva.ukhe.address.validation.service.AddressManager"
}

2013-10-31 14:49:20,057 ERROR [StackTrace] (MSC service thread 1-2) Sanitizing stacktrace:: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Class' for property 'businessInterface'; nested exception is java.lang.IllegalArgumentException: Could not load class [com.aviva.ukhe.address.validation.service.AddressManager]!
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:467) [org.springframework.beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:499) [org.springframework.beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:493) [org.springframework.beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
........
......... at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]
Caused by: java.lang.IllegalArgumentException: Could not load class [com.aviva.ukhe.address.validation.service.AddressManager]!
at org.codehaus.groovy.grails.support.ClassEditor.setAsText(ClassEditor.java:66) [grails-core-1.3.7.jar:1.3.7]
at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:416) [org.springframework.beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:388)

Responses

Hi Abhishek. Sorry you haven't been able to resolve this issue. I'll see if I can find an expert here to assist you, otherwise by all means open a support case

Hello,

It looks like you need to change

jndiName = "java:global/AddressValidationService/AddressManager!com.aviva.ukhe.address.validation.service.AddressManager"

to

jndiName = "java:global/AddressValidationService/AddressManager!com.aviva.ukhe.address.validation.service.AddressManagerLocal"

to get hold of the local interface.

If that doesn't work there are further examples of how JNDI binding works in JBoss EAP 6 in https://access.redhat.com/site/solutions/183733

Regards,

Shaun