Мы используем maven в доме для создания приложения Spring 3.0.X
, поэтому я добавил все связанные с Tibco банки в папку , в maven pom XML-файл я добавил следующие измененияПриложение Spring не может найти «com.tibco.tibjms.naming.TibjmsInitialContextFactory»
<dependency>
<groupId>com.tibco</groupId>
<artifactId>tibjms</artifactId>
<scope>provided</scope>
<version>4.4.1v2</version>
</dependency>
развертывается войны файл в папку jboss 5.1/server/<Profile>/deploy
.
Я получаю следующую ошибку при развертывании, я перезапустил сервер несколько раз, но приложение весны не может загрузить классы из/lib-папки профиля.
Spring JMS config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
initialFactory
</prop>
<prop key="java.naming.provider.url">
url
</prop>
</props>
</property>
</bean>
<bean id="queueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName"
value="queueConn" />
</bean>
<bean id="listener"
class="class">
</bean>
<jms:listener-container connection-factory="queueConnectionFactory"
acknowledge="transacted" concurrency="5">
<jms:listener destination="Outbound.Queue"
ref="listener" />
</jms:listener-container>
</beans>
Обновление: Я позволил JBoss загрузку класса, tibjms классы загружаются в память, когда я проверил boot.log файл. Не понимаю, почему весна не может загрузить классы из/lib.
Почему «объем» предоставлен? Является ли банка уже присутствующей в jboss lib? – sidgate
Я смущен, почему ты возишься с банками так, как ты. Если вы разместите предоставленную в качестве области действия, которая сообщает maven, когда она строит вашу войну, чтобы не беспокоить ее получение из репо, как jboss/tomcat, что уже есть. Поэтому мне кажется, что на данный момент ваша проблема - это то, что обслуживает ваше приложение. Можете ли вы найти эти банки в любом месте вашего сервера приложений? – nuzz
@nuzz Да, я добавил банки в папку '/ server//lib'. Я делаю эту область «предоставлен», потому что банки уже доступны в папке сервера lib. Я ожидаю, что загрузчик классов jboss загрузит классы для меня. –
Zeus