当前位置:  技术问答>java相关

发布session bean遇错误之二

    来源: 互联网  发布时间:2015-01-09

    本文导语:  在session bean中操作entity bean  客户端调用时出错,如下:  星期五 六月 08 17:57:30 GMT+08:00 2001:  Signaling peer -7633149239751353651C202.104.155.131 gone: weblogic.rjvm.PeerGoneException:  - with nested exception:  [java.net.SocketException:...

在session bean中操作entity bean 
客户端调用时出错,如下: 
星期五 六月 08 17:57:30 GMT+08:00 2001:  Signaling peer -7633149239751353651C202.104.155.131 gone: weblogic.rjvm.PeerGoneException: 
- with nested exception: 
[java.net.SocketException: Connection reset by peer: JVM_recv in socket input stream read] 
星期五 六月 08 17:57:46 GMT+08:00 2001:  Transaction: '991994211380_29' rolled back due to EJB exception: 
javax.ejb.EJBException 
at com.titan.cabin.CabinBeanEOImpl.getShip(CabinBeanEOImpl.java:459) 
at com.titan.travelagent.TravelAgentBean.listCabins(TravelAgentBean.java, Compiled Code) 
at com.titan.travelagent.TravelAgentBeanEOImpl.listCabins(TravelAgentBeanEOImpl.java:56) 
at com.titan.travelagent.TravelAgentBeanEOImpl_WLSkel.invoke(TravelAgentBeanEOImpl_WLSkel.java:75) 
at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java, Compiled Code) 
at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java, Compiled Code) 
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java, Compiled Code) 
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code) 

在客户端调用entity bean时没有问题。
entity bean的Transaction isolation level为TRANSACTION_READ_UNCOMMITTED 
因为我用的是sql server7.0,由于它不支持TRANSACTION_SERIALIZABLE,我没试。 
请教各位。 

bean 的代码如下: 
package com.titan.travelagent; 

import com.titan.cabin.Cabin; 
import com.titan.cabin.CabinHome; 
import com.titan.cabin.CabinPK; 
import java.rmi.RemoteException; 
import javax.naming.InitialContext; 
import javax.naming.Context; 
import java.util.Properties; 
import java.util.Vector; 
import javax.ejb.EJBException; 
import weblogic.jndi.WLInitialContextFactory; 

public class TravelAgentBean implements javax.ejb.SessionBean { 

  public void ejbCreate() { 
  // Do nothing. 
  } 
  public String [] listCabins(int shipID, int bedCount) { 
       try { 
           javax.naming.Context jndiContext = getWeblogicInitialContext(); 
           Object obj = jndiContext.lookup("CabinBean"); 

           CabinHome home = (CabinHome) 
               javax.rmi.PortableRemoteObject.narrow(obj, CabinHome.class); 
    
           Vector vect = new Vector(); 
           CabinPK pk = new CabinPK(); 
           Cabin cabin; 
           for(int i = 1; ; i++){ 
              pk.id = i; 
              try { 
                 cabin = home.findByPrimaryKey(pk); 
               } catch(javax.ejb.FinderException fe){ 
                   break; 
               } 
               // Check to see if the bed count and ship ID match. 
               if (cabin.getShip() == shipID && 
                   cabin.getBedCount() == bedCount){ 
                 String details = 
                   i+","+cabin.getName()+","+cabin.getDeckLevel(); 
                 vect.addElement(details); 
               } 
           } 
        
           String [] list = new String[vect.size()]; 
           vect.copyInto(list); 
           return list; 
      
      } catch(javax.naming.NamingException ne){ 
           throw new EJBException(ne); 
      } catch(java.rmi.RemoteException re){ 
           throw new EJBException(re); 
      }     
  } 

  private javax.naming.Context getInitialContext() 
  throws javax.naming.NamingException{ 
     Properties p = new Properties(); 
     // ... Specify the JNDI properties specific to the vendor. 
     return new javax.naming.InitialContext(p); 
  } 

  public void ejbRemove(){} 
  public void ejbActivate(){} 
  public void ejbPassivate(){} 
  public void setSessionContext(javax.ejb.SessionContext cntx){} 
   public static Context getWeblogicInitialContext() 
                         throws javax.naming.NamingException { 
      Properties p = new Properties(); 
      p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); 
      p.put(Context.PROVIDER_URL, "t3://bingo:7001"); 
      return new InitialContext(p); 
   } 

 
  ejb-jar.xml如下:




   
     
TravelAgentBean
com.titan.travelagent.TravelAgentHome
com.titan.travelagent.TravelAgent
com.titan.travelagent.TravelAgentBean
Stateless
Container

 
 ejb/CabinBean
 Entity
 com.titan.cabin.CabinHome
 com.titan.cabin.Cabin
 

     
   
   
     
This role represents everyone who is allowed full access 
        to the cabin bean.
everyone
     
     
everyone

 TravelAgentBean
 *

     
     

 TravelAgentBean
 *

Required
     
   
 

各位ggddjjmm帮忙呀!
真是郁闷!

|
事务处理的问题

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 实体bean可不可以在webservice中发布?
  • 用JBuilder发布Entity Bean
  • 菜鸟问题关于bean的发布位置
  • 请问:为了负载平衡,怎样将bean发布到多台机器上的j2ee服务器上。
  • 有没有关于如何发布Entity Bean的例子?
  • 如何配置发布监测远端JMS Server Topic的Message-Driven Bean?
  • Hadoop 2.1.0-beta 版发布
  • 除了发布虚拟机外,发布JBuilder应用程序应发布我的哪些文件?怎样脱离JBuilder环境?
  • Hadoop 2.0.5-alpha版发布
  • 怎么发布打包并发布自己的Android应用(APP)
  • PL/SQL Developer 10.0发布
  • 我要把我的jsp网站发布到网络上,又固定的Ip和空间,怎么才能发布?谢谢!在线等待!急!急!
  • Oracle 12c发布简单介绍及官方下载地址
  • Web应用发布工具 Fredistrano
  • Firefox 23 中文版全新发布
  • 新闻发布系统的分权限管理问题,请大家来讨论一下
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • Web服务发布管理 Duda Client Manager
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • Web图库发布工具 EasyGallery
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • 程序发布的问题(动态连接库的问题)
  • nginx最新主线开发版1.5.4发布及下载地址
  • 我用jsp,servlet,等写好的程序如何用installshelld 打包发布!
  • nginx最新稳定版1.4.2发布
  • Oracle支持Linux的哪些发布版本
  • Windows清理助手最新版3.1发布及下载地址
  • 应用自动发布和管理工具 LiveRebel


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3