Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Pervij EJB proekt


Автор: Tony 19.11.2007, 02:05
Прошу не пинать  smile. Написал маленкую web app с пременением ejb session bean. Написал ejb-jar.xml положил в МЕТА-INF.Но вот не зню как ето всё собрать. Поставил jboss 4.2 Должен быть war arhiv или ear ??!?. I что ещё надо? PS: ejb 3.0.

Автор: Llucas 19.11.2007, 10:25
Для отладки лучше сначала использовать Tomcat, а уже потом веб-сервис. С помощью томката можно все собрать, создать war-файл и посмотреть как это все работает.

Автор: makados 19.11.2007, 13:08
а tomcat уже начал поддерживать ejb?

Автор: Tony 19.11.2007, 13:29
Цитата(makados @ 19.11.2007,  13:08)
а tomcat уже начал поддерживать ejb?

Во-во. Кот не евляется же j2ee serverom. Или уже стал ?!?!? И при4ём тут веб сервис. Господа, давайте по теме. smile 

Автор: powerOn 19.11.2007, 13:43
Можешь упаковать хоть в jar, хоть в ear. Даже ejb-jar.xml не обязателен. 

Автор: gEndelf 19.11.2007, 16:04
если используешь Eclipse, то он собирает это все сам - Export to EAR и можно автоматически деплоить на сервер - сразу проверять работу приложения

Автор: Tony 19.11.2007, 16:58
Ejb классы лежть должны в papke: WEB-INF/classes со всеми остальними классмаи. Или у них другая локация??? Потому4то йбосс требует application.xml. А там надо писать модули. А вот 4то за модули  smile 

Автор: powerOn 19.11.2007, 17:58
я смотрю вопрос уже решён, но отвечу... smile

Помещать классы в папку WEB-INF/classes  нет необходимости.
Есть допустим интерфейс:

Код

package beans;

import javax.ejb.Local;

@Local
public interface NewSessionLocal
{
    public int sum(int a, int b);
}


Есть бин:
Код

package beans;

import javax.ejb.CreateException;
import javax.ejb.Stateful;

@Stateful
public class NewSessionBean implements NewSessionLocal 
{
    public int sum(int a, int b)
    {
        return (a + b);
    }
}


после компиляции и сборки получаем jar:
Цитата

META-INF
 |- MANIFEST.MF
beans
 |- NewSessionBean.class
 |- NewSessionLocal.class


кидаем jar в папку deploy JBoss-a, получаем в консоли:
Цитата

17:58:29,002 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateful.StatefulContainer
17:58:29,003 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=EJBModule1.jar,name=NewSessionBean,service=EJB3 with dependencies:
17:58:29,027 INFO  [EJBContainer] STARTED EJB: beans.NewSessionBean ejbName: NewSessionBean
17:58:29,041 INFO  [EJB3Deployer] Deployed: file:/data/programs/jboss-4.2.2.GA/server/default/deploy/EJBModule1.jar


Все. Бин задеплоен.

Автор: Tony 19.11.2007, 18:33
Писал без анотаций. Так вот апп стартует но  я не могу досту4атся по урлу до апп, 4тоб вызвать jsp, 404  smile 
Код

17:28:57,347 INFO  [EARDeployer] Init J2EE application: file:/home/jboss/server/default/deploy/firstj2ee.ear
17:28:57,918 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
17:28:57,919 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=firstj2ee.ear,jar=log-ejb.jar,name=logger,service=EJB3 with dependencies:
17:28:58,350 INFO  [EJBContainer] STARTED EJB: test.ejb.LoggerBean ejbName: logger
17:28:58,391 INFO  [EJB3Deployer] Deployed: file:/home/jboss/server/default/tmp/deploy/tmp18905firstj2ee.ear-contents/log-ejb.jar
17:28:58,469 INFO  [EARDeployer] Started J2EE application: file:/home/jboss/server/default/deploy/firstj2ee.ear


Автор: powerOn 19.11.2007, 18:50
Цитата(Tony @  19.11.2007,  18:33 Найти цитируемый пост)
Так вот апп стартует но  я не могу досту4атся по урлу до апп, 4тоб вызвать jsp, 404

Не понял. У тебя все в одном проекте? И веб и ejb?

Автор: Tony 19.11.2007, 19:06
в ear
  |-----  .war
  |-----  .jar (ejb)
  |----- META-INF
                    |----------- application.xml
        
Код

<?xml version="1.0" encoding="UTF-8"?>
<application 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/application_1_4.xsd"
             version="1.4">
             
             <module>
              <ejb>log-ejb.jar</ejb>
             </module>
             <module>
                 <web>
                    <web-uri>firstj2ee.war</web-uri>
                    <context-root>/firstj2ee</context-root>
                </web>
            </module>
</application>


Добавлено через 1 минуту и 8 секунд
в ear
  |-----  .war
  |-----  .jar (ejb)
  |----- META-INF
                    |----------- application.xml
        
Код

<?xml version="1.0" encoding="UTF-8"?>
<application 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/application_1_4.xsd"
             version="1.4">
             
             <module>
              <ejb>log-ejb.jar</ejb>
             </module>
             <module>
                 <web>
                    <web-uri>firstj2ee.war</web-uri>
                    <context-root>/firstj2ee</context-root>
                </web>
            </module>
</application>

                    

Автор: makados 19.11.2007, 19:18
а какая ссылка, которую пытаешься загрузить? Если правильно помню, то путь такой: <имя сервера и порт>/<контехт веб-модуля>

Автор: Tony 20.11.2007, 01:25
Цитата(makados @ 19.11.2007,  19:18)
а какая ссылка, которую пытаешься загрузить? Если правильно помню, то путь такой: <имя сервера и порт>/<контехт веб-модуля>

?!?!? Не понял тебя.

Автор: makados 20.11.2007, 02:52
Цитата(Tony @  19.11.2007,  16:33 Найти цитируемый пост)
 я не могу досту4атся по урлу до апп, 4тоб вызвать jsp


какой урл?

Автор: Tony 20.11.2007, 10:27
localhost:8080/firstj2ee. Я добавил ear v deploy.

Автор: makados 20.11.2007, 12:10
зайди в localhost:8080/status?full=true

В Application list будет список замапленный веб-приложений. Проверь, замапилось ли твоя веб-часть.

Автор: Tony 21.11.2007, 09:52
Смотрел нету. Странно по4ему щеб 4асть не поднялась  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)