powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SessionBean + iDea
9 сообщений из 9, страница 1 из 1
SessionBean + iDea
    #34821401
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытаюсь создать в iDea SessionBean (с SessionBean дело имею первый раз )

вроде всё нормально, есть
bean:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
 public   class  CartBean   implements  SessionBean {
    String customerName;
    String customerId;
    Vector contents;


    public   void  ejbCreate(String person)  throws  CreateException{
         if  (person ==  null ) {
             new  CreateException("Null person not allowed.");
        }
         else  {
            customerName = person;
            contents =  new  Vector();
        }

    }


     public   void  setColor(String clientColor) {
        contents.addElement(clientColor);
    }

     public  String getColor(){
        String result = contents.elementAt( 0 ).toString();
         if  (result !=  null ) {
             return  result;
        }
         throw   new  EJBException("Color is null.");
    }

     public  Vector getContents() {
         return  contents;
    }

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


    
}

home
Код: plaintext
1.
2.
3.
 public   interface  CartHome  extends  EJBHome  {
    Cart ejbCreate(String person)  throws  RemoteException, CreateException;

}

remote
Код: plaintext
1.
2.
3.
4.
5.
 public   interface  Cart  extends  EJBObject {
     public   void  setColor(String clientColor) throws  RemoteException;
     public  String getColor() throws  RemoteException;
     public  Vector getContents() throws  RemoteException;
}

дескриптор

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
		  http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
         version="2.1">
  <enterprise-beans>
      <session>
          <description>Session Bean</description>
          <display-name>Cart</display-name>
          <ejb-name>Cart</ejb-name>
          <home>com.bcc.bean.CartHome</home>
          <remote>com.bcc.bean.Cart</remote>
          <ejb- class >com.bcc.bean.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>

при попытке собрать (make project) проект, ругается на то, что:

Код: plaintext
1.
2.
3.
4.
C:\Project\temp\mySessionBean\MyEjb\src\com\bcc\bean\CartHome.java
    Error:Error:line ( 14 ) Interface  'CartHome' should define at least one create method.
    Error:Error:line ( 15 )Method 'ejbCreate' name should not conflict with the names defined by the EJB architecture
C:\Project\temp\mySessionBean\MyEjb\src\com\bcc\bean\CartBean.java
    Error:Error:line ( 17 )EJB bean  class  'CartBean' should implement 'CartHome.ejbCreate(java.lang.String)'


помогите разобратся в чём дело
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34821447
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stateless бины не имеют состояние, у них не должно быть полей и создавать их так незя. А вообще у тебя что то среднее между Entity и Session (Statless) бином.
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34821644
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0Stateless бины не имеют состояние, у них не должно быть полей и создавать их так незя. А вообще у тебя что то среднее между Entity и Session (Statless) бином.

хм , делал по примеру отсюда :
http://openejb.apache.org/hello-world.html

и у sun тоже самое
http://java.sun.com/developer/technicalArticles/ebeans/EJBEntity/index.html

может разъясните по подробней что не так ?
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34821779
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Statless бины не имеют состояния у них не должно быть полей. Контейнер не гарантирует что клиента будет обрабатывать один и тот же session bean (это может быть любой из пула). Создаются statless только через ejbCreate (без параметров).

Если тебе нужно хранить сотояние между вызовами, то для этого нужно использоваь Statefull бины. Тогда клиент будет работать только с определенным бином. Но это может все сказаться на производительности твоего приложения. Иногда конечно statfull бины полезны.

Если у тебя web приложение то лучше вообще не заморачиваться c EJB и хранить все в HttpSession.
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34821941
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой, прошу прощения , конечно, я использую stateful

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
		  http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
         version="2.1">
  <enterprise-beans>
      <session>
          <description>Session Bean</description>
          <display-name>Cart</display-name>
          <ejb-name>Cart</ejb-name>
          <home>com.bcc.bean.CartHome</home>
          <remote>com.bcc.bean.Cart</remote>
          <ejb- class >com.bcc.bean.CartBean</ejb- class >
          <session-type>Stateful</session-type>
          <transaction-type>Container</transaction-type>
      </session>
  </enterprise-beans>
    <assembly-descriptor>
     <container-transaction>
      <method>
        <ejb-name>Cart</ejb-name>
         <method-intf>Remote</method-intf>
        <method-name>setColor</method-name>
          <method-params>
              <method-param>java.lang.String</method-param>
          </method-params>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>Cart</ejb-name>
         <method-intf>Remote</method-intf>
        <method-name>getColor</method-name>
       </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
      <method>
        <ejb-name>Cart</ejb-name>
         <method-intf>Remote</method-intf>
        <method-name>getContents</method-name>
       </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>

только вот легче от этого не становится, jar собирается, но всё равно неприятно, почему среда ругается непонятно на что =(
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34821989
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в home интерфейсе методы должны называться create а не ejbCreare
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34822009
sendoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробйте так:
Код: plaintext
1.
2.
3.
 public   interface  CartHome  extends  EJBHome  
{
    Cart create(String person)  throws  RemoteException, CreateException;
}
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34822011
sendoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не успел... :)
...
Рейтинг: 0 / 0
SessionBean + iDea
    #34822062
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, собрался!

действительно в названиях была проблема, СПАСИБО
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / SessionBean + iDea
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]