Spring no JBOSS

1 resposta
rafaelvalerini

Olá Pessoal, atualmente estou migrando do Tomcat para o JBoss e me deparei com o seguinte problema:

Estou utilizando JSF e no arquivo de configuração do Contexto do Spring a sessionFactory é criada da seguinte maneira:

<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
		scope="singleton">
		<property name="dataSource" ref="dataSource" />
		<property name="annotatedClasses">
			<list>
				<value>br.com.unimed.cn.entity.CustoEmpresa</value>
				<value>br.com.unimed.cn.entity.Elemento</value>
				<value>br.com.unimed.cn.entity.Empresa</value>
				<value>br.com.unimed.cn.entity.NivelAcesso</value>
				<value>br.com.unimed.cn.entity.Perfil</value>
				<value>br.com.unimed.cn.entity.PerfilAcesso</value>
				<value>br.com.unimed.cn.entity.PerfilAcessoId</value>
				<value>br.com.unimed.cn.entity.PerfilUsuario</value>
				<value>br.com.unimed.cn.entity.CustoEmpresa</value>
				<value>br.com.unimed.cn.entity.SacTop</value>
				<value>br.com.unimed.cn.entity.ModuloSacCnu</value>
				<value>br.com.unimed.cn.entity.ModuloSacTop</value>
				<value>br.com.unimed.cn.entity.SituacaoSac</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9iDialect
				</prop>
				<prop key="hibernate.connection.driver_class">
					oracle.jdbc.driver.OracleDriver
				</prop>
				<prop key="hibernate.connection.username">
					ics_opera_ger_us
				</prop>
				<prop key="hibernate.connection.password">
					ics_opera_ger_pw
				</prop>
				<prop key="hibernate.connection.url">
					jdbc:oracle:thin:@unimed44.complexo.unimed:9618:des5
				</prop>
				<prop key="hibernate.default_schema">ICS</prop>
				<prop key="current_session_context_class">thread</prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
	</bean>

	<bean id="dataSource"
		class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:comp/env/jdbc/icsDB</value>
		</property>
	</bean>

funcionando normalmente, já com o JBoss não consigo rodar com a mesma configuração de Bean do Spring.

Alguém saberia me dizer quais alterações eu teria que fazer?

1 Resposta

rafaelvalerini

Alterei as configuração do Bean para rodar no JBoss, as configurações estão assim?

<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
		scope="singleton">
		<property name="dataSource" ref="dataSource" />
		<property name="annotatedClasses">
			<list>
				<value>br.com.unimed.cn.entity.CustoEmpresa</value>
				<value>br.com.unimed.cn.entity.Elemento</value>
				<value>br.com.unimed.cn.entity.Empresa</value>
				<value>br.com.unimed.cn.entity.NivelAcesso</value>
				<value>br.com.unimed.cn.entity.Perfil</value>
				<value>br.com.unimed.cn.entity.PerfilAcesso</value>
				<value>br.com.unimed.cn.entity.PerfilAcessoId</value>
				<value>br.com.unimed.cn.entity.PerfilUsuario</value>
				<value>br.com.unimed.cn.entity.CustoEmpresa</value>
				<value>br.com.unimed.cn.entity.SacTop</value>
				<value>br.com.unimed.cn.entity.ModuloSacCnu</value>
				<value>br.com.unimed.cn.entity.ModuloSacTop</value>
				<value>br.com.unimed.cn.entity.SituacaoSac</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9iDialect
				</prop>
				<prop key="hibernate.connection.driver_class">
					oracle.jdbc.driver.OracleDriver
				</prop>
				<prop key="hibernate.connection.username">
					ics_opera_ger_us
				</prop>
				<prop key="hibernate.connection.password">
					ics_opera_ger_pw
				</prop>
				<prop key="hibernate.connection.url">
					jdbc:oracle:thin:@unimed44.complexo.unimed:9618:des5
				</prop>
				<prop key="hibernate.default_schema">ICS</prop>
				<prop key="current_session_context_class">thread</prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
	</bean>

	<bean id="dataSource"
		class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiTemplate">
			<ref bean="jndiTemplate" />
		</property>
		<property name="jndiName">
			<value>java:comp/env/jdbc/icsDB</value>
		</property>
	</bean>

	<bean id="jndiTemplate"
		class="org.springframework.jndi.JndiTemplate">
		<property name="environment">
			<props>
				<prop key="java.naming.factory.initial">
					org.jnp.interfaces.NamingContextFactory
				</prop>
				<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
				<prop key="java.naming.factory.url.pkgs">
					org.jnp.interfaces:org.jboss.naming
				</prop>
			</props>
		</property>
	</bean>

mas me apresenta o seguinte erro:

javax.naming.NameNotFoundException: comp not bound

Alguem sabe pq acontece esse erro e onde estou errando?

Criado 4 de novembro de 2008
Ultima resposta 4 de nov. de 2008
Respostas 1
Participantes 1