Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Сборка EJB-приложения на IDEA / 21 сообщений из 21, страница 1 из 1
28.11.2013, 14:49:49
    #38481846
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Доброго времени суток!
Товарищи, вопрос возник. Как подцепить JBoss Tools к IDEA. В Eclipse это спокойно получается, а в IDEA никак. Создаю JavaEE Application, а такие библиотеки как javax.persistence она не видит. Читал, что нужно присоединять lib-ы через Maven, но в его репозиториях куча всего - не знаю что выбирать.
У меня EJB проект + JBoss + Oracle - все на Eclipse. Помогите перенести на IDEA-ю..... !
...
Рейтинг: 0 / 0
28.11.2013, 14:54:01
    #38481856
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
нужно j2ee jar подключить. Желательно тот который от JBoss. Референсный в мавене кривой.
Мавен используется вообще?
...
Рейтинг: 0 / 0
28.11.2013, 14:56:32
    #38481860
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Вот этот, например
http://mvnrepository.com/artifact/org.jboss.spec
...
Рейтинг: 0 / 0
28.11.2013, 14:58:00
    #38481864
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Blazkowiczнужно j2ee jar подключить. Желательно тот который от JBoss. Референсный в мавене кривой.
Мавен используется вообще?

я пока не собираю им. но буду. я пока вторую неделю саму JavaEE изучаю. пока сущности создаю и клиентов пишу. а потом уже будет maven (начальник обещал)... а этот jar-ник отдельно скачать и подключить?
...
Рейтинг: 0 / 0
28.11.2013, 15:00:40
    #38481866
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczВот этот, например
http://mvnrepository.com/artifact/org.jboss.spec

спасибо, щас пробую!
...
Рейтинг: 0 / 0
28.11.2013, 15:26:03
    #38481926
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAlekseyа этот jar-ник отдельно скачать и подключить?
Не обязательно. Аналогичный есть где-нибудь в JBoss/lib, надо его подключить к проекту.
...
Рейтинг: 0 / 0
28.11.2013, 15:26:43
    #38481928
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Следите чтобы версии JBoss и JEE были именно те, которые вы планируете использовать.
...
Рейтинг: 0 / 0
29.11.2013, 14:34:26
    #38483373
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
не стал заводить новый топик, т.к. остались вопросы по EJB и IDEA

2 Blazkowicz
Все заработало на отлично! Jboss 7.1.1Final библиотечки подтянул с той ссылки, все встало.

Теперь собственно суть вопроса:
Создал две сущности, local- и remote- интерфейсы и сам сессионный бин:
Код: java
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.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
@Entity
@Table(name="Departments")
public class Department implements Serializable
{
	private Long id;
	private String name;

	@OneToMany(mappedBy="department")
	private Set<Employee> employeeSet;

	public Department()
	{
		employeeSet = new HashSet<Employee>();
	}

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="DEP_ID")
	public Long getId()
	{
		return id;
	}

	public void setId( Long id )
	{
		this.id = id;
	}

	@Column(name="DEP_NAME")
	public String getName()
	{
		return name;
	}

	public void setName( String name )
	{
		this.name = name;
	}

	@Override
	public String toString()
	{
		return "Department [id=" + id + ", name=" + name + "]";
	}
}

@Stateless
public class SessionBean implements RemoteBean
{
	@PersistenceContext( unitName = "EJB_Test1" )
	private EntityManager entityManager;

	@Override
	public void createDepartment( Department department )
	{
		entityManager.persist( department );
	}

	@Override
	public void deleteDepartment( Department department )
	{
		Department tempDepartment = entityManager.find( Department.class, department );
		entityManager.remove( department );
	}

	@Override
	public void updateDepartment( Department department )
	{
		entityManager.merge( department );
	}

	@Override
	public Department getDepartment( Long id )
	{
		Department department = entityManager.find( Department.class, id );

		return department;
	}

	@Override
	public Department getDepartment( String name )
	{
		Department department = entityManager.find( Department.class, name );

		return department;
	}
}


Привожу только одну сущность и сам сессионный бин. Вот persistance.xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<persistence-unit name="EJB_Test1" transaction-type="JTA">
	<provider>org.hibernate.ejb.HibernatePersistence</provider>
	<jta-data-source>java:/Test</jta-data-source>
	<properties>
		<property name="hibernate.hbm2ddl.auto" value="update"/>
		<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
	</properties>
</persistence-unit>


Вот ejb-jar.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
	<enterprise-beans>
		<session>
			<ejb-name>SessionEJB</ejb-name>
			<ejb-class>com.ejb_test1.sessions.SessionBean</ejb-class>
			<session-type>Stateless</session-type>
			<transaction-type>Container</transaction-type>
		</session>
	</enterprise-beans>


Привожу структуру проекта (на картинке)
Так вот вопрос - почему проект не деплоится на сервере (..\standalone\deployments\), если у меня в логе в jboss пишет:
14:16:29,754 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "EJB_Test1.ear"
[2013-11-29 02:16:29,764] Artifact EJB_Test1: Artifact is deployed successfully
Я его в свойствах проекта, в артефактах, делаю как JavaEE Application Archive.
Что я делаю не так?

P.S. датасорсы и драйвера и БД созданы успешно
...
Рейтинг: 0 / 0
29.11.2013, 14:40:28
    #38483390
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAlekseyТак вот вопрос - почему проект не деплоится на сервере (..\standalone\deployments\), если у меня в логе в jboss пишет:
14:16:29,754 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "EJB_Test1.ear"
[2013-11-29 02:16:29,764] Artifact EJB_Test1: Artifact is deployed successfully

Сервер врет или я чего-то не понял?
...
Рейтинг: 0 / 0
29.11.2013, 14:48:42
    #38483410
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczNDAlekseyТак вот вопрос - почему проект не деплоится на сервере (..\standalone\deployments\), если у меня в логе в jboss пишет:
14:16:29,754 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS018559: Deployed "EJB_Test1.ear"
[2013-11-29 02:16:29,764] Artifact EJB_Test1: Artifact is deployed successfully

Сервер врет или я чего-то не понял?

Блин, соврал я Вам. Сервер пишет, что деплоит, а на сервере по указанной директории не создается ничего = (
...
Рейтинг: 0 / 0
29.11.2013, 14:57:59
    #38483434
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAlekseyБлин, соврал я Вам. Сервер пишет, что деплоит, а на сервере по указанной директории не создается ничего = (
А что должно создаваться и почему?
...
Рейтинг: 0 / 0
29.11.2013, 15:04:13
    #38483449
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczNDAlekseyБлин, соврал я Вам. Сервер пишет, что деплоит, а на сервере по указанной директории не создается ничего = (
А что должно создаваться и почему?

Ну вот у меня есть подобное в Eclipse. Так у меня после старта сервера по директории JBOSS_HOME\standalone\deployments\ деплоится проект и создается там файл типа "ProjectName.ear.deployed"

Сразу вопрос Вам - могу ли я создать таблицы в базе по указанной стратегии - создавая сущности, деплоя проект и где в проперти в persistence.xml указано следующее:
Код: xml
1.
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>



Могу?
...
Рейтинг: 0 / 0
29.11.2013, 15:19:26
    #38483474
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAlekseyНу вот у меня есть подобное в Eclipse. Так у меня после старта сервера по директории JBOSS_HOME\standalone\deployments\ деплоится проект и создается там файл типа "ProjectName.ear.deployed"

Ну, надо в тех же логах смотреть что и куда он задеплоил.

NDAlekseyСразу вопрос Вам - могу ли я создать таблицы в базе по указанной стратегии - создавая сущности, деплоя проект и где в проперти в persistence.xml указано следующее:
Могу?
Для прототипизирования - можно и так.
Для разработки продукта лучше взять liquibase или flyway.
...
Рейтинг: 0 / 0
29.11.2013, 15:51:34
    #38483556
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
2 Blazkowicz,

спасибо, нашел, правда не в логе (почему-то =( ), а во временной директории по поиску:
JBOSS_HOME\standalone\tmp\vfs\temp4f786d48692496a9\EJB_Test1.ear-c366b66a7a69b6e0\

вот только не понимаю, когда запускаю сервер через Eclipse, то директория \deployments (прямая), а через IDEA - "кривая" .... (
...
Рейтинг: 0 / 0
02.12.2013, 15:52:31
    #38486109
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Все отлично получилось - все собралось и задеплоилось!
И даже получилось решить вопрос - нужно было создать EntityBean, RemoteBean, и SessionBean и, чтобы по старте и размещении проекта на сервере приложений создавались таблички в БД (из EntityBeans).
Опять не желая плодить топики, ибо считаю, что вопросы объединены в одну проблематику, хочу спросить о следующем:
хочу создать клиента, и вызвать метод из RemoteBean. Вот как сделал:
Код: java
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.
public class Main
{
	public static void main( String... arg )
	{
		try
		{
			Employee emp = new Employee();
			emp.setF( "Ivanov" );
			emp.setI( "Ivan" );
			emp.setO( "Ivanovich" );

			InitialContext ctx = getContext();
			RemoteBean remote = ( RemoteBean ) ctx.lookup( "RemoteBean/remote" );
			remote.createEmployee( emp );
		}
		catch ( NamingException e )
		{
			e.printStackTrace();
		}
	}

	private static InitialContext getContext() throws NamingException
	{
		final Properties prop = new Properties();
		prop.put( Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory" );
		prop.put( Context.PROVIDER_URL, "jnp://127.0.0.1:1099" );
		return new InitialContext( prop );
	}
}


Перерыл пол-интернета, но ответа на то как создать правильно контекст я не нашел. Помогите, чем "наполнить" это "prop"?!
...
Рейтинг: 0 / 0
02.12.2013, 16:06:00
    #38486135
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAleksey,

Ну, вот же, вроде, достаточно подробная статья.
http://www.mastertheboss.com/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial
крайне желательно использовать client jar из JBoss и тогда в свойствах InitialContext нужно будет указывать минимум настроек.
...
Рейтинг: 0 / 0
02.12.2013, 16:08:57
    #38486138
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczNDAleksey,

Ну, вот же, вроде, достаточно подробная статья.
http://www.mastertheboss.com/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial
крайне желательно использовать client jar из JBoss и тогда в свойствах InitialContext нужно будет указывать минимум настроек.

а версия jboss роли не играет?
...
Рейтинг: 0 / 0
02.12.2013, 17:01:01
    #38486227
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczNDAleksey,

Ну, вот же, вроде, достаточно подробная статья.
http://www.mastertheboss.com/jboss-as-7/jboss-as-7-remote-ejb-client-tutorial
крайне желательно использовать client jar из JBoss и тогда в свойствах InitialContext нужно будет указывать минимум настроек.

Подскажите, пожалуйста, почему у меня выскакивает эксепшн: " Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial "

У меня jboss 6.0.0 Final. хотя статья написана для "JBoss AS (versions >= 7.x)", я все же сделал следующее:
импортировал в свой класс lookupRemoteEJB() и testRemoteEJB()

изменил moduleName на "my_app_name", как было сказано в статье ( If we packed the web module in an ear file we should define the variable appName with the Ear name. For example if we packed it into "Example.ear", then you should have defined )

создал файл "jboss-ejb-client.properties" с содержимым, которые было в статье, в папке "src\config" (у меня IDEA)

кинул в lib "jboss-client.jar" (взял из JBOSS_HOME\client\ )

При запуске выскочило вышеуказанное исключение. Что я сделал не так?
...
Рейтинг: 0 / 0
02.12.2013, 17:09:38
    #38486246
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
NDAleksey,

2ю страницу статьи смотрели? Там есть и про эту ошибку тоже.
...
Рейтинг: 0 / 0
02.12.2013, 17:19:41
    #38486274
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
BlazkowiczNDAleksey,

2ю страницу статьи смотрели? Там есть и про эту ошибку тоже.

= ) нет, не посмотрел.... сейчас прочел, но там нету для меня решения. у меня вот так получается:
ejb:/EJB_Test4_ejb_exploded//SessionBean!com.businesslogic.RemoteBean

все правильно: и имя интерфейса удаленного, и имя пакета, и имя проекта, и ejb вместо java ... = (
...
Рейтинг: 0 / 0
05.12.2013, 12:47:18
    #38490118
NDAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка EJB-приложения на IDEA
Вопрос все еще актуален, правда приобрел несколько иной окрас характер = )

Какой нужно выбрать архетип для создания простого ejb-приложения, но обязательно с "persistence.xml" ?

Понимаю, что вопрос покажется глупым, мол выбирай какой душе угодно. Но я пока еще "плаваю" во всей этой JavaEE и иже с ними, а разобраться хочется.

P.S.
2 Blazkowicz:

BlazkowiczВот этот, например

http://mvnrepository.com/artifact/org.jboss.spec


скопировав GroupId, ArtifactId и Version, для добавления архетипа, maven поругался, что нет соответствующего jar-файла
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Сборка EJB-приложения на IDEA / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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