Foros de discusión
Разработка взаимосвязанных портлетов.
Ivan Babiankou, modificado hace 12 años.
Разработка взаимосвязанных портлетов.
New Member Mensajes: 4 Fecha de incorporación: 11/07/11 Mensajes recientes
Доброго времени суток.
Поставлена задача разработать портал на основе Liferay, для реализации нужно добавлять свои сущности и таблицы. Создал портлет в котором создал сервисы и нужные сущности, но при использовании my-name-servce.jar в остальных портлетах требовал набор impl классов, и я раскопировал куда нужно. Со временем начали вылазить ошибки ClassCastException при кастовании к примеру UniversityImpl к University, что я считал обсурдным. После разбирательства понял что classloader загружал одни и те же классы из разных мест, и хотя содержимое было одно, в понимании JVM это были разные классы. Теперь суть вопроса:
Как правельнее оформить данную ситуацию, а именно как создать набор портлетов, использующих один service layer?
На сколько я понимаю мне следует создать ext-plugin, который будет объединять несколько логически связанных портлетов и слой сервисов. Поправьте, пожалуйста где я ошибаюсь.
Спасибо за ваши ответы и мысли!
Поставлена задача разработать портал на основе Liferay, для реализации нужно добавлять свои сущности и таблицы. Создал портлет в котором создал сервисы и нужные сущности, но при использовании my-name-servce.jar в остальных портлетах требовал набор impl классов, и я раскопировал куда нужно. Со временем начали вылазить ошибки ClassCastException при кастовании к примеру UniversityImpl к University, что я считал обсурдным. После разбирательства понял что classloader загружал одни и те же классы из разных мест, и хотя содержимое было одно, в понимании JVM это были разные классы. Теперь суть вопроса:
Как правельнее оформить данную ситуацию, а именно как создать набор портлетов, использующих один service layer?
На сколько я понимаю мне следует создать ext-plugin, который будет объединять несколько логически связанных портлетов и слой сервисов. Поправьте, пожалуйста где я ошибаюсь.
Спасибо за ваши ответы и мысли!
Dmitry Abramov, modificado hace 12 años.
RE: Разработка взаимосвязанных портлетов.
New Member Mensajes: 3 Fecha de incorporación: 11/05/11 Mensajes recientes
Все просто:
В одном проекте, ну и соответственно war файле, может быть несколько портлетов.
Если Вы работаете в Liferay IDE, то находясь внутри проекта, жмите New Liferay Portlet и далее как обычно.
Если все ОК, то Вы обнаружите в <portlet-app> и <liferay-portlet-app> два элемента <portlet>, в portlet.xml появиться еще одна строчка в <category>
В одном проекте, ну и соответственно war файле, может быть несколько портлетов.
Если Вы работаете в Liferay IDE, то находясь внутри проекта, жмите New Liferay Portlet и далее как обычно.
Если все ОК, то Вы обнаружите в <portlet-app> и <liferay-portlet-app> два элемента <portlet>, в portlet.xml появиться еще одна строчка в <category>
Ivan Babiankou, modificado hace 12 años.
RE: Разработка взаимосвязанных портлетов.
New Member Mensajes: 4 Fecha de incorporación: 11/07/11 Mensajes recientesDmitry Abramov:
Все просто:
Да, действительно просто, я уже разобрался. И все же: спасибо за ответ! Я работаю в NetBeans, но и в ней не возникло проблем. Вручную переносил классы из разных проектов в один, и объявлял их в portlet.xml, liferay-portlet.xml и liferay-display.xml. Все работает!