开发EJB3.0程序中,客户端是控制台程序,使用的是Jboos5但是出现java.lang.ClassCastException异常
在开发EJB时,客户端是控制台程序,但是在运行时出现这样的异常(ava.lang.ClassCastException: javax.naming.Reference cannot be cast to com.mstanford.sessionbean.ConverterRemoteat com.mstanford.test.TestEjb.main(TestEjb.java:23))
但是在EJB 测试代码很简单:(
package com.mstanford.sessionbean;
import java.math.BigDecimal;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(ConverterRemote.class)
public class Converter implements ConverterRemote {
BigDecimal yenRate=new BigDecimal("87.19");
BigDecimal euroRate=new BigDecimal("0.0075");
public BigDecimal dollarToYen(BigDecimal dollars) {
BigDecimal result=dollars.multiply(yenRate);
return result.setScale(2,BigDecimal.ROUND_UP);
}
public BigDecimal yenToEuro(BigDecimal yen) {
BigDecimal reslut=euroRate.multiply(euroRate);
return reslut.setScale(2,BigDecimal.ROUND_UP);
}
})
(这个只是实习接口方法的一部分)
下面是一个简单的测试方法
package com.mstanford.test;
import java.math.BigDecimal;
import java.util.Properties;
import javax.naming.InitialContext;
import com.mstanford.sessionbean.ConverterRemote;
public class TestEjb {
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"org.jnp.inte易做图ces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
try {
InitialContext init=new InitialContext(props);
ConverterRemote converter=(ConverterRemote)init.lookup("Converter/remote");
BigDecimal param=new BigDecimal("100.00");
BigDecimal amount=converter.dollarToYen(param);
System.out.println("100美元兑换成日元为:"+amount);
BigDecimal amount1=converter.yenToEuro(param);
System.out.println("100日元兑换成欧元为:"+amount1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里边有个问题是:控制台程序中ConverterRemote converter=(ConverterRemote)init.lookup("Converter/remote");这一点总是转换出错
java.lang.ClassCastException: javax.naming.Reference cannot be cast to com.mstanford.sessionbean.ConverterRemote
at com.mstanford.test.TestEjb.main(TestEjb.java:20);
这个问题出现在那个方面?????
补充:Java , Java EE