关于一个jboss-4.0.3SP1和JBUILDER 2006 集成的问题

yulin001122 2005-12-23 09:53:42
我用JBOSS4.03 和JBUILDER 2006集成了一下, 因为是初学者在实验的时候出现的问题,
请高手帮我看一下。。
//Hello.java
package j2eetest;

import javax.ejb.EJBObject;
import com.sun.org.apache.xpath.internal.operations.String;
import java.rmi.RemoteException;

public interface Hello extends EJBObject {
public String helloWorld() throws RemoteException;
}

//HelloBean
package j2eetest;

import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import java.io.*;
import com.sun.org.apache.xpath.internal.operations.String;

public class HelloBean implements SessionBean {
SessionContext sessionContext;
public void ejbCreate() throws CreateException {
System.out.println("ejb Create!");
}

public void ejbRemove() {
System.out.println("ejb remove");
}

public void ejbActivate() {
System.out.println("ejb is activate");
}

public void ejbPassivate() {
System.out.println("ejb Passivate!");
}


public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
System.out.println("ejb setSession!");
}

public String helloWorld() {
return "HELLOWORLD";
}

}

//HelloHome.java
package j2eetest;

import javax.ejb.EJBHome;
import javax.ejb.CreateException;
import java.rmi.RemoteException;

public interface HelloHome extends EJBHome {
public Hello create() throws CreateException, RemoteException;
}

//ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar>
<display-name>Hello</display-name>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<home>j2eetest.HelloHome</home>
<remote>j2eetest.Hello</remote>
<ejb-class>j2eetest.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Hello</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>

//jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

<jboss>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<jndi-name>Hello</jndi-name>
</session>
</enterprise-beans>
</jboss>

这些是EJB的信息, 在下面我使用了一个测试程序 ,运行时出现了
log4j:WARN No appenders could be found for logger (org.jboss.security.SecurityAssociation).
log4j:WARN Please initialize the log4j system properly.
的错误

package j2eetest;

import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.InitialContext;
import java.util.Hashtable;
import java.rmi.RemoteException;

public class HelloTestClient1 {
private Hello hello = null;
private HelloHome helloHome = null;

public HelloTestClient1() {
initialize();
try{
hello.helloWorld();
}catch(RemoteException re){
System.out.println("hello helloworld error!");
}
}

public void initialize() {
try {
Context context = getInitialContext();
Object ref = context.lookup("Hello");
helloHome = (HelloHome) PortableRemoteObject.narrow(ref, HelloHome.class);
hello = helloHome.create(); //这里出现了异常
} catch (Exception e) {
e.printStackTrace();
}

}

private Context getInitialContext() throws NamingException {
Hashtable environment = new Hashtable();

environment.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
environment.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");
environment.put(Context.PROVIDER_URL, "jnp://localhost:1099");

return new InitialContext(environment);
}

public Hello create() {
try {
hello = helloHome.create();
} catch (Exception e) {
return hello;
}

public static void main(String[] args) {
HelloTestClient1 client = new HelloTestClient1();
}
}



请高手一定帮我看看是什么原因 谢谢了。。。。


...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulin001122 2005-12-26
  • 打赏
  • 举报
回复
送分了。 第一个回贴的人接分。。。。
yulin001122 2005-12-23
  • 打赏
  • 举报
回复
应该怎么解决阿??

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧