要通过EJB返回的参数必须是可序列化的对象或变量

解决方案 »

  1.   

    谢谢.
    不过这里是在同一个类中,也有这个要求吗?而且String类型的应该是可以序列化的吧。
      

  2.   

    if( send(outMessage.toString().getBytes()) != 1 ){
        writeLog("发送数据错误");
        return -1;
    }
        
    try{
        //取得返回的付款请求;
        String value =new String();
        int i;
        if( (i = receive(sn, value, null)) <= 0){
             writeLog("接收回应消息错误,超时或者网络错误");
    deleteMessage(serialNo);
    return i;
        }
        if (value == null || value.length() == 0 ){
    writeLog("没有收到回应消息,超时或者网络错误);
         return -3;//在此处返回
        }
       .....
    在receive中:
    public int receive(int sn, String value){
       ......
        value = receiveData(messageLength);
        
        if( value == null || value.length() == 0 ){
         writeLog("超时未收到消息");
         return -21;//此处未返回,说明value中有内容
        }    
        
        return value.length();
    }返回的是正值,在receive中value有内容。
      

  3.   

    我想明白了,string类型是不能通过参数回传的,因为每次改动都是创建一个新对象.跟EJB无关,谢谢各位