Хорошо, я использую Apache Axis2 и Spring Framework. По сути, класс WebServiceHandler представляет все операции веб-службы. Поэтому, когда приходит запрос, вызывается этот класс.
Насколько я понимаю, для каждого запроса Tomcat или Axis2 должны создавать новую тему. Но выполнение «Thread.currentThread (). GetId ()» и «Thread.currentThread (). GetName ()» всегда имеет одинаковые идентификатор и имя.
Я полагаю, это вызывает проблемы в моем DAO, поскольку я использую Hibernate для создания 3 SessionFactories и использую текущую модель потоков для выполнения запросов, что делает всю систему очень медленной.
Я мог бы создавать новый поток для каждой операции перед вызовом моего класса DAO, но еще не пробовал. Любой способ решить эту проблему с помощью конфигурации в Axis2 или Spring? Спасибо.
Часть моего applicationContext.xml ниже:
<!-- Axis2 Web Service, but to Spring, its just another bean that has dependencies -->
<bean id="springContext" class="com.ws.beans.spring.SpringContext"/>
<bean id="springAwareService" class="com.ws.beans.WebServiceHandler" >
<constructor-arg ref="springContext" />
</bean>