go4it

          EJB--SEAM

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            11 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          1.遠程客戶端:傳值,對象必須序列化,服務器對對象的修改不會在客戶端體現。

          2.本地客戶端:

           (1)創建一個web項目,與jboss部署在同一個JVM當中。

           (2)添加服務器端項目的依賴或手動添加接口的jar包

           (3)在index.jsp改編碼。

              本地客戶端也可以使用遠程調用方式:

          <% 
              
          		  Hashtable env=new Hashtable();   
          		  env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");   
          		  env.put(Context.PROVIDER_URL,"localhost:1099");   
          		  env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");   
          		  InitialContext cxt=new InitialContext(env);
          		  UserManager us=(UserManager)cxt.lookup("UserManagerBean/remote");
          		  User u=new User();
          		  u.setUsername("persia");
          		  u.setPassword("p");
          		  
                    us.addUser(u);
                    
                    out.println("user--perisa已經創建。"+u.getId());
             %>

          本地客戶端的本地調用方式沒成功:

          00:18:28,661 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
          java.lang.IllegalArgumentException: Wrong target. class com.persia.ejb.UserManagerBean for public void com.persia.ejb.UserManagerBean.addUser(com.persia.ejb.User)
          	at org.jboss.aop.joinpoint.MethodInvocation.handleErrors(MethodInvocation.java:141)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:116)
          	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
          	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
          	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
          	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
          	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          	at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
          	at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
          	at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
          	at $Proxy94.addUser(Unknown Source)
          	at org.apache.jsp.index_jsp._jspService(index_jsp.java:97)
          	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
          	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
          	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
          	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
          	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
          	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
          	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
          	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
          	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
          	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
          	at java.lang.Thread.run(Thread.java:619)
          

           <% 
              
          		  Hashtable env=new Hashtable();   
          		  env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");   
          		  env.put(Context.PROVIDER_URL,"localhost:1099");   
          		  env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");   
          		  InitialContext cxt=new InitialContext(env);
          		  UserManager us=(UserManager)cxt.lookup("UserManagerBean/local");
          		  
          		  User u=new User();
          		  u.setUsername("persia");
          		  u.setPassword("p");
          		  
                   us.addUser(u);
                    
                    out.println("user--perisa已經創建。"+u.getId());
             %>

          有待以后多些見識解決或偶遇高人指點。

          不大清楚,本地調用還需要JNDI嗎?

          posted on 2008-12-09 12:51 go4it 閱讀(177) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 云龙县| 逊克县| 珲春市| 安新县| 延吉市| 博罗县| 东乡| 沁阳市| 永寿县| 榆中县| 长海县| 常熟市| 万载县| 桂东县| 自治县| 蒲江县| 钟山县| 通许县| 卫辉市| 乌海市| 晋州市| 瓮安县| 偃师市| 佛教| 泸定县| 秭归县| 晋城| 德格县| 东乌珠穆沁旗| 兴安县| 塔河县| 尼木县| 清徐县| 夹江县| 治多县| 平泉县| 舞钢市| 安溪县| 颍上县| 天峨县| 咸宁市|