为什么我的第一个Session ejb 不能部署?

jbas 2004-09-15 02:12:24
/*
*
* Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the proprietary information of Sun Microsystems, Inc.
* Use is subject to license terms.
*
*/
package com.beltino;

import java.util.*;
import javax.ejb.*;

public class CartBean implements SessionBean {

String customerName;
String customerId;
Vector contents;

public void ejbCreate(String person) throws CreateException {

if (person == null) {
throw new CreateException("Null person not allowed.");
}
else {
customerName = person;
}

customerId = "0";
contents = new Vector();
}

public void ejbCreate(String person, String id) throws CreateException {

if (person == null) {
throw new CreateException("Null person not allowed.");
}
else {
customerName = person;
}

IdVerifier idChecker = new IdVerifier();
if (idChecker.validate(id)) {
customerId = id;
}
else {
throw new CreateException("Invalid id: " + id);
}

contents = new Vector();
}

public void addBook(String title) {

contents.addElement(title);
}

public void removeBook(String title) throws BookException {

boolean result = contents.removeElement(title);
if (result == false) {
throw new BookException(title + " not in cart.");
}
}

public Vector getContents() {
return contents;
}

public CartBean() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}

}
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
redlaputa 2004-09-15
  • 打赏
  • 举报
回复
A stateless session bean must define exactly one create() method with no arguments.

请学好英语
ashes 2004-09-15
  • 打赏
  • 举报
回复
statelsess sessionbean 需要不带参数的create方法
修改你的xml配置文件
<session-type>Stateless</session-type>
改成
<session-type>Stateful</session-type>
jbas 2004-09-15
  • 打赏
  • 举报
回复
2004-09-15 16:57:24,171 WARN [org.jboss.ejb.EJBDeployer.verifier] EJB spec violation:
Bean : Cart
Section: 7.10.6
Warning: A stateless session bean must define exactly one create() method with no arguments.

2004-09-15 16:57:24,171 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.parentTraceEnabled=true
2004-09-15 16:57:24,171 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.nestedTraceEnabled=false
2004-09-15 16:57:24,171 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.detectDuplicateNesting=true
2004-09-15 16:57:24,171 ERROR [org.jboss.deployment.MainDeployer] could not create deployment: file:/G:/jboss/server/default/deploy/Tre.jar
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:553)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:817)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:673)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:637)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:230)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
ashes 2004-09-15
  • 打赏
  • 举报
回复
报什么错误?
把信息贴出来
jbas 2004-09-15
  • 打赏
  • 举报
回复
<?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>Tre</display-name>
<enterprise-beans>
<session>
<display-name>Cart</display-name>
<ejb-name>Cart</ejb-name>
<home>com.beltino.CartHome</home>
<remote>com.beltino.Cart</remote>
<ejb-class>com.beltino.CartBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Cart</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
jbas 2004-09-15
  • 打赏
  • 举报
回复
package com.beltino;

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

public interface CartHome extends EJBHome {

public Cart create(String person) throws CreateException, RemoteException;

public Cart create(String person, String id) throws CreateException,
RemoteException;
}

jbas 2004-09-15
  • 打赏
  • 举报
回复
package com.beltino;

import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import java.util.Vector;

public interface Cart
extends EJBObject {

public void addBook(String title) throws RemoteException;

public void removeBook(String title) throws BookException, RemoteException;

public Vector getContents() throws RemoteException;
}

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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