2012-03-05 3 views
1

я в настоящее время миграции больший проект, который в первую очередь использует Шов 2, Hibernate и JSF 1.2 от JBoss 4.2.x к JBoss 7.1 - и мне удалось решить большинство проблем, до сих пор , Сервер приложений начинается просто отлично и на данный момент развертывает мой проект EAR без ошибок. JSF 1.2 и шов 2, чтобы начать правильно.Использование Seam v2.2.2.Final с JSF v1.2 в JBoss v7.1 - Теги JSF не будут отображаться - почему?

Однако, как только я попытаюсь получить доступ к первой странице (например, context/login.seam), браузер загружает источник моего jsp вместо отображаемого содержимого. Пока я не знаю, куда идти дальше. Изменили ли web.xml, faces-config.xml или любые связанные файлы настроек для использования этой среды?


Кратко суммированы Я сделал следующие обновления моего проекта до сих пор:

Некоторые строки из web.xml в WAR

<context-param> 
    <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name> 
    <param-value>Mojarra-1.2</param-value> 
</context-param> 

<listener> 
    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> 
</listener> 
<filter> 
    <filter-name>Seam Filter</filter-name> 
    <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>Seam Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
<servlet> 
    <servlet-name>Seam Resource Servlet</servlet-name> 
    <servlet-class> 
     org.jboss.seam.servlet.SeamResourceServlet 
    </servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Seam Resource Servlet</servlet-name> 
    <url-pattern>/seam/resource/*</url-pattern> 
</servlet-mapping> 

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.seam</url-pattern> 
</servlet-mapping> 

JBoss развертывания-structure.xml в EAR

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> 
    <deployment> 
     <exclusions> 
      <module name="javax.faces.api" slot="main" /> 
      <module name="com.sun.jsf-impl" slot="main" /> 
     </exclusions> 
     <dependencies> 

      <!-- Wir brauchen in jedem Fall Java Server Faces v1.2... nicht das aktuelle v2.0! --> 
      <module name="javax.faces.api" slot="1.2" export="true" /> 
      <module name="com.sun.jsf-impl" slot="1.2" export="true" /> 

      <!-- Seam braucht einige Libraries, die der JBoss teilweise schon mitbringt... --> 
      <module name="org.apache.commons.beanutils" export="true" /> 
      <module name="org.apache.commons.collections" export="true" /> 
      <module name="org.apache.commons.lang" export="true" /> 
      <module name="org.dom4j" export="true" /> 
      <module name="org.hibernate.validator" export="true" /> 

     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

Я также удалил все JAR из EAR, которые уже поставляются с JBoss v7.1 в качестве модулей и модифицированы Файлы MANIFEST.MF.

И я заменил Log4J на JBoss-Logging, исправил некоторый устаревший код FacesMessages и теперь отключил классы @Service und @Management.

Также мой источник данных Oracle добавлен в standalone.xml (с использованием ojdbc6.jar) и успешно инициализируется.


PS: В настоящее время нет возможности заменить Seam2 Seam3 для этого проекта. Я еще не пытался использовать Seam2-JSF2-Branch (https://github.com/heyoulin/seam2jsf2). Я хочу понять мои текущие проблемы перед оценкой альтернатив.

+0

Только что заметила при запуске следующую ошибку: что это значит? 14: 35: 28,905 SCHWERWIEGEND [javax.enterprise.resource.webcontainer.jsf.application] (поток обслуживания MSC 1-7) JSF1051: служебная запись 'org.jboss.as.web.deployment.jsf.JsfInjectionProvider' не расширяет DiscoverableInjectionProvider , Запись будет проигнорирована. –

ответ

1

Мы провели все больше и больше времени без реального прогресса на этом. Поэтому я решил пойти другим путем и сбросить Seam в пользу CDI и EJB v3.1! Большинство вещей, которые мы использовали из Seam v2, теперь устарели. Это огромная миграция - но я думаю, что она окупится в конце. Это должно сократить общее использование памяти и повысить производительность. Похоже, что Seam v2 и JBoss v7 не так хороши в идее ...