私のEJBは、次の通りであると(Glassfishのコンソールから取得した)JNDI名でGlassfishの上に展開 - のjava:グローバル/ FinalEJBProject-EJB/AdminOperationsBean com.humber.its.n01131590.AdminOperationsBeanRemote!春コントローラでEJBにアクセスすることができません
@Stateless(mappedName = "ejb/AdminOperationsBean")
public class AdminOperationsBean implements AdminOperationsBeanRemote { }
私のSpringプロジェクトでは、Beanにアクセスしようとしています。次のようにapplicationContext.xmlをがある - 春コントローラで<jee:remote-slsb id="adminRemote" jndi-name="java:global/FinalEJBProject- ejb/AdminOperationsBean!com.humber.its.n01131590.AdminOperationsBeanRemote" business-interface="com.humber.its.n01131590.AdminOperationsBeanRemote" cache-home="false" lookup-home-on-startup="false" refresh-home-on-connect-failure="true" />
-
@Controller
public class AdminController {
private AdminOperationsBeanRemote adminRemote;
public void setAdminOperationsBeanRemote(AdminOperationsBeanRemote
adminRemote) {
this.adminRemote = adminRemote;
}
public AdminOperationsBeanRemote getAdminOperationsBeanRemote() {
return adminRemote;
}
私は常に失敗し、ルックアップを取得しています -
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.remoting.RemoteLookupFailureException: Failed to locate remote EJB [java:global/FinalEJBProject-ejb/AdminOperationsBean!com.humber.its.n01131590.AdminOperationsBeanRemote]; nested exception is javax.naming.NamingException: Lookup failed for 'java:global/FinalEJBProject-ejb/AdminOperationsBean!com.humber.its.n01131590.AdminOperationsBeanRemote' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: FinalEJBProject-ejb]
誰かが私を助けてください、私はこれにされています過去3日間
にmappedName属性は、製品固有の名前です。代わりに、name属性を使用します。アプリケーション内部のEJB Beanにアクセスする場合、jndiルックアップは次のようになります。java:comp/env/ejb/beanname [/ interfacename] –