200 求解 WEBLOGIC6.0 上如何配置EJB? 满意就结贴!!!!!!!! 你现有jb把他达成jar包,然后进入weblogic控制台,你看看左边的树桩的菜单,很简单的我也极不清楚了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用jb?哦,呵呵,厉害嘛...那也要先打包呀 !不打包应该也行吧,可太麻烦了..那那些xml文件你怎么弄? 自己写??? ------------------------------------------------------ 我们还年轻牛奶会有的奶牛也会有的 csdn 文档中心就有,自己去找... ------------------------------------------------------ 我们还年轻牛奶会有的奶牛也会有的 可天天在 csdn 混这些会有吗 ?? 所有文件方同一目录build.cmd:md buildjavac -d build Hello.java HelloHome.java HelloBean.javamd build\Meta-infcopy *.xml build\Meta-infmd build\imagescopy *.gif build\imagescd buildjar cv0f std_myfirstejb_hello.jar META-INF *.class imagescd ..java weblogic.ejbc -compiler javac build\std_myfirstejb_hello.jar build\myfirstejb_hello.jar****************************build_client.cmd:md clientcopy HelloClient.java clientcopy build\Hello.class clientcopy build\HelloHome.class clientcd clientjavac HelloClient.java********************************ejb-jar.xml:<?xml version="1.0"?><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'><ejb-jar> <small-icon>images/green-cube.gif</small-icon> <enterprise-beans> <session> <small-icon>images/orange-cube.gif</small-icon> <ejb-name>MyFirstEJB</ejb-name> <home>HelloHome</home> <remote>Hello</remote> <ejb-class>HelloBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>MyFirstEJB</ejb-name> <method-intf>Remote</method-intf> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor></ejb-jar>**********************************Hello.java://本接口需要引入的类或接口import javax.ejb.EJBObject;import java.rmi.RemoteException;//定义远程接口,必须继承EJBObjectpublic interface Hello extends EJBObject { //定义业务逻辑方法 public String sayHello() throws RemoteException;}***********************HelloBean.java://本类需要引入的类或接口import javax.ejb.CreateException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;//实现业务逻辑,必须实现SessionBean接口public class HelloBean implements SessionBean { //这是个会话EJB,声明会话上下文 private SessionContext ctx; //声明字符串 private String words; //接口SessionBean中定义的方法,必须实现 public void setSessionContext(SessionContext ctx) { this.ctx = ctx; } //接口SessionBean中定义的方法,必须实现 public void ejbActivate() { } //接口SessionBean中定义的方法,必须实现 public void ejbPassivate() { } //接口SessionBean中定义的方法,必须实现 public void ejbRemove() { } //和主接口定义对应的方法,必须实现 public void ejbCreate() throws CreateException { words = "Hello World"; } //供客户端调用的业务逻辑方法,这里只简单的打印字符串,并把字符串返回到客户端 public String sayHello() { System.out.println("I am in an EJB of Server ."+words); return words; }}****************************HelloClient.java://本类需要引入的类或接口import java.rmi.RemoteException;import java.util.Properties;import javax.ejb.CreateException;import javax.ejb.RemoveException;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.rmi.PortableRemoteObject;/** * 这是EJB的客户端测试程序 */public class HelloClient { private static final String JNDI_NAME = "HelloHome"; private String url; private HelloHome home; public HelloClient(String url) throws NamingException { this.url = url; home = lookupHome(); } void test() throws RemoteException,CreateException { Hello hello = (Hello) PortableRemoteObject.narrow(home.create(), Hello.class); System.out.println("I am in client. "+hello.sayHello()); } /** * 运行这个实例: * java HelloClient t3://localhost:7001 */ public static void main(String[] args) throws Exception { System.out.println("\n客户端程序测试开始...\n"); String url = "t3://localhost:7001"; // 解析命令行 if (args.length != 1) { System.out.println("用法: java HelloClient t3://hostname:port"); return; } else { url = args[0]; } HelloClient client = null; try { client = new HelloClient(url); } catch (NamingException ne) { System.exit(1); } try { client.test(); } catch (Exception e) { System.exit(1); } System.out.println("\n客户端程序测试结束...\n"); } /** * 查找 EJB 的主接口 */ private HelloHome lookupHome() throws NamingException { Context ctx = getInitialContext(); Object home = ctx.lookup(JNDI_NAME); return (HelloHome) PortableRemoteObject.narrow(home, HelloHome.class); } /** * 使用属性对象获取上下文 */ private Context getInitialContext() throws NamingException { Properties h = new Properties(); h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); h.put(Context.PROVIDER_URL, url); return new InitialContext(h); }}*************************************HelloHome.java://本接口需要引入的类或接口import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBHome;//定义主接口,必须继承EJBHome public interface HelloHome extends EJBHome { //定义EJB创建方法 Hello create() throws CreateException, RemoteException;}**************************weblogic-ejb-jar.xml:<?xml version="1.0"?><!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'><!--EJB部署说明文件--><weblogic-ejb-jar> <weblogic-enterprise-bean> <!--EJB名--> <ejb-name>MyFirstEJB</ejb-name> <!--定义EJB最大缓冲池--> <caching-descriptor> <max-beans-in-free-pool>100</max-beans-in-free-pool> </caching-descriptor> <!--定义EJB jndi名称--> <jndi-name>HelloHome</jndi-name> </weblogic-enterprise-bean></weblogic-ejb-jar> 说的我真是无地自容!csdn 文档中心 在哪里呀??? http://www.csdn.net/develop/list_article.asp?bigclassid=6 ------------------------------------------------------ 我们还年轻牛奶会有的奶牛也会有的 可天天在 csdn 混这些会有吗 ?? 我以前也认为高手应该能手写部署文件,现在觉得这纯粹是没事找事,hohomastering ejb2 的例子都有源代码,包括部署文件,连打好的jar包都有如果想手动部署class/META-INF/把ejb-jar.xml和weblogic-ejb-jar.xml放到META-INF/jar cf A.jar *然后用ejbc编译下java weblogic.ejbc -verbose a.jar a.jar记得要把weblogic加到classpath里去如果编译没错,就可以放到application目录下去了,重新启动应用,就ok 增加字段后为什么要清空原有数据才能使用? webshpere 部署 EJB 失败 SSH框架 在线等!郁闷!!急 雪地里跪求---JPA生产表问题 jsp\struts针对群31677467(new) 棘手的问题 web开发中,数据库实体和程序中的实体类,每次都很纠结,给位是怎么解决的 小弟弟刚接触编程,请问大家用了多长时间..能把JAVA技术学得好..用得熟呢...? 菜鸟问题!!请问java语言的可移植性如何?有哪些代码不可移植吗? 刚用jbuilder8,一个非常简单而恼火的问题 SOS!!!高手帮我,,一定给分 我为她而来,她却拒我与千里之外,你到底在想什么?????
哦,呵呵,厉害嘛...
那也要先打包呀 !
不打包应该也行吧,可太麻烦了..那那些xml文件你怎么弄? 自己写???
------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
md build
javac -d build Hello.java HelloHome.java HelloBean.java
md build\Meta-inf
copy *.xml build\Meta-inf
md build\images
copy *.gif build\images
cd build
jar cv0f std_myfirstejb_hello.jar META-INF *.class images
cd ..
java weblogic.ejbc -compiler javac build\std_myfirstejb_hello.jar build\myfirstejb_hello.jar
****************************
build_client.cmd:
md client
copy HelloClient.java client
copy build\Hello.class client
copy build\HelloHome.class client
cd client
javac HelloClient.java
********************************
ejb-jar.xml:
<?xml version="1.0"?><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'><ejb-jar>
<small-icon>images/green-cube.gif</small-icon>
<enterprise-beans> <session>
<small-icon>images/orange-cube.gif</small-icon> <ejb-name>MyFirstEJB</ejb-name>
<home>HelloHome</home>
<remote>Hello</remote>
<ejb-class>HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans> <assembly-descriptor>
<container-transaction>
<method>
<ejb-name>MyFirstEJB</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
**********************************
Hello.java:
//本接口需要引入的类或接口
import javax.ejb.EJBObject;
import java.rmi.RemoteException;//定义远程接口,必须继承EJBObject
public interface Hello extends EJBObject {
//定义业务逻辑方法
public String sayHello()
throws RemoteException;
}
***********************
HelloBean.java:
//本类需要引入的类或接口
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;//实现业务逻辑,必须实现SessionBean接口
public class HelloBean implements SessionBean {
//这是个会话EJB,声明会话上下文
private SessionContext ctx;
//声明字符串
private String words;
//接口SessionBean中定义的方法,必须实现
public void setSessionContext(SessionContext ctx) {
this.ctx = ctx;
}
//接口SessionBean中定义的方法,必须实现
public void ejbActivate() {
}
//接口SessionBean中定义的方法,必须实现
public void ejbPassivate() {
}
//接口SessionBean中定义的方法,必须实现
public void ejbRemove() {
}
//和主接口定义对应的方法,必须实现
public void ejbCreate() throws CreateException {
words = "Hello World";
}
//供客户端调用的业务逻辑方法,这里只简单的打印字符串,并把字符串返回到客户端
public String sayHello()
{
System.out.println("I am in an EJB of Server ."+words);
return words;
}
}
****************************
HelloClient.java:
//本类需要引入的类或接口
import java.rmi.RemoteException;
import java.util.Properties;
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;/**
* 这是EJB的客户端测试程序
*/public class HelloClient { private static final String JNDI_NAME = "HelloHome"; private String url;
private HelloHome home; public HelloClient(String url)
throws NamingException
{ this.url = url;
home = lookupHome();
}
void test()
throws RemoteException,CreateException
{
Hello hello = (Hello) PortableRemoteObject.narrow(home.create(), Hello.class);
System.out.println("I am in client. "+hello.sayHello());
}
/**
* 运行这个实例:
* java HelloClient t3://localhost:7001
*/
public static void main(String[] args) throws Exception { System.out.println("\n客户端程序测试开始...\n"); String url = "t3://localhost:7001";
// 解析命令行
if (args.length != 1) {
System.out.println("用法: java HelloClient t3://hostname:port");
return;
} else {
url = args[0];
}
HelloClient client = null;
try {
client = new HelloClient(url);
} catch (NamingException ne) {
System.exit(1);
}
try {
client.test();
} catch (Exception e) {
System.exit(1);
}
System.out.println("\n客户端程序测试结束...\n");
}
/**
* 查找 EJB 的主接口
*/
private HelloHome lookupHome()
throws NamingException
{
Context ctx = getInitialContext();
Object home = ctx.lookup(JNDI_NAME);
return (HelloHome) PortableRemoteObject.narrow(home, HelloHome.class);
} /**
* 使用属性对象获取上下文
*/
private Context getInitialContext() throws NamingException {
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, url);
return new InitialContext(h);
}
}
*************************************
HelloHome.java:
//本接口需要引入的类或接口
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;//定义主接口,必须继承EJBHome
public interface HelloHome extends EJBHome {
//定义EJB创建方法
Hello create() throws CreateException, RemoteException;
}
**************************
weblogic-ejb-jar.xml:
<?xml version="1.0"?><!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
<!--EJB部署说明文件-->
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<!--EJB名-->
<ejb-name>MyFirstEJB</ejb-name>
<!--定义EJB最大缓冲池-->
<caching-descriptor>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</caching-descriptor>
<!--定义EJB jndi名称-->
<jndi-name>HelloHome</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
csdn 文档中心 在哪里呀???
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
mastering ejb2 的例子都有源代码,包括部署文件,连打好的jar包都有
如果想手动部署
class/
META-INF/
把ejb-jar.xml和weblogic-ejb-jar.xml放到META-INF/
jar cf A.jar *
然后用ejbc编译下
java weblogic.ejbc -verbose a.jar a.jar
记得要把weblogic加到classpath里去
如果编译没错,就可以放到application目录下去了,重新启动应用,就ok