sqlEJB 没有实现 Home 这个Interface定义的create方法你的sqlEJB是从哪个类继承的?
解决方案 »
- hibernate执行insert 的sql,为什么要加事务才能录入数据?
- 求解:Hibernate主键自增
- 求助使用过滤器过滤:任意输入一个jsp地址,都能自动跳转到只有端口不同的该地址!解决结贴,在线等。。。
- 记住用户名和密码,在ie6中能正常运行,在ie8中记不住密码
- J2EE里如何调另一个网站的内容?
- hibernate 里的sql问题
- 如何能够通过jmx修改tomcat的server.xml文件??
- 请问我用jspsmartupload读取表单,中文出现乱码
- 成功运用到项目中,持久化大家都用什么呀?(entity bean, jdo, hibernate ),那个更好或别的推荐一个?
- WEBSERVICE问题请教
- 急用,怎样在bat文件中添加环境变量?
- struts和xmlHttp怎样结合
但肯定没有create(String )方法。
要不就是没有相关xdoclet的描述,指明他是ejb create的方法。
你可以自己看看那个Home接口。里面是否有此方法。没有加之。
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.*;public interface SqlHome extends EJBHome
{
SqlRemote create(String sql) throws RemoteException, CreateException;
}远程接口SqlRemote如下:import java.util.*;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;public interface SqlRemote extends EJBObject
{
public String execu() throws RemoteException;
}实体Bean如下:
import java.sql.*;
import javax.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;public class SqlEJB implements EntityBean
{
private String sql;
private EntityContext context;
private Connection con;
private String dbName = "DataSourceJNDI"; public String getSql()
{
return sql;
}
public void setEntityContext(EntityContext context)
{
this.context = context;
try
{
System.out.println("Inside setEntityContext");
//makeConnection();
//在日志里简单打印一句
}
catch (Exception ex)
{
throw new EJBException("Unable to connect to database. " + ex.getMessage());
}
}
/* private void makeConnection() throws NamingException, SQLException
{
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup(dbName);
con = ds.getConnection();
}*/
public String ejbCreate(String sql) throws CreateException
{
this.sql = sql;
return sql;
} public String execu() throws SQLException
{
String str;
/*try
{
PreparedStatement prepStmt = con.prepareStatement(sql);
prepStmt.executeUpdate();
prepStmt.close();
return "execu succeed!";
}
catch(Exception e)
{
e.printStackTrace();
return "Execute falied!";
}*/
str="pass the sqlEJB"+sql;
return str;
}
//--------------------- public void ejbRemove()
{
} public void unsetEntityContext()
{
try
{
con.close();
}
catch (SQLException ex)
{
throw new EJBException("unsetEntityContext: " + ex.getMessage());
}
} public void ejbActivate()
{
}
public void ejbPassivate()
{
} public void ejbLoad()
{
}
public void ejbStore()
{
} public void ejbPostCreate(String id, String un, String pass, String addr)
{
}} 上面是整个实体Bean的代码,home里面定义了create().
在这个Bean里只是想当Session Bean找到Entity Bean的时候简单返回一字符串
我是刚学EJB的,希望大家指点一下.