i made a sample based on servicemix-web examples(ships with
servicemix3.1-incubating)
i use spring to set the JBI container, and HTTP-BC(servicemix-http), so i
can start up it use mvn jetty:run just like servicemix-web examples.
in another jvm , i start up servicemix(as standalone) where i put my sample
service. i suppose to use http-bc(soap) to connect together.
flow like this :
web(servlet) -> http-bc(provider, same jvm to servlet) -> http-bc(consumer,
standalone servicemix) then back to.
but i always get error(no response) at 33 times. From the service-http
document i knew the service-http's maxConnectionsPerHost is 32, so i
get error at 33 times. cause every time, the connection cannot be
released...
like this error log, this log viewed when i shutdown the jetty.(notice the
exchage's in is null , why?)
===========================================================
WARN - HttpConnection - HttpConnectionManager is null.
Connection cannot be released.
ERROR - HttpComponent - Error processing exchange InOut[
id: ID:ngofcl0256-2482-1181201890140-36:0
status: Active
role: provider
service: {http://mysample/service1}findAggregator1
endpoint: endpoint
operation: myOperation
in: null
]
java.lang.IllegalStateException: Connection factory has been shutdown.
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGe
tConnection(MultiThreadedHttpConnectionManager.java:456)
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getC
onnectionWithTimeout(MultiThreadedHttpConnectionManager.java:394)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMe
thodDirector.java:152)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
a:396)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav
a:346)
at
org.apache.servicemix.http.processors.ProviderProcessor.process(Provi
derProcessor.java:168)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:619)
ERROR - HttpComponent - Error setting exchange status to
ERROR
javax.jbi.messaging.MessagingException: DeliveryChannel{servicemix-http} has
bee
n closed.
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.checkNotClose
d(DeliveryChannelImpl.java:138)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(Delivery
ChannelImpl.java:408)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
ker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:619)
WARN - ClientFactory - Cound not stop ClientFactory:
javax.nam
ing.NamingException: This context is immutable
INFO - JBIContainer - ServiceMix JBI Container
(ServiceMix) stopped
2007-06-07 16:38:57.725::INFO: Shutdown hook complete
[INFO] Jetty server exiting.
============================================================
and my spring's applicationContext.xml is:
<sm:container id="jbi"
rootDir="#rootDir"
installationDirPath="#installDir"
deploymentDirPath="#deployDir"
monitorInstallationDirectory="true"
transactionManager="#transactionManager"
>
<sm:activationSpecs>
<!-- START SNIPPET: http -->
<sm:activationSpec componentName="servicemix-http">
<sm:component>
<http:component>
<http:configuration managed="true" />
<http:endpoints>
<http:endpoint service="psv1:findAggregator1"
endpoint="endpoint"
role="provider"
locationURI="http://0.0.0.0:8192/sample/"
soap="true"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
<!-- END SNIPPET: http -->
</sm:activationSpecs>
</sm:container>
<bean id="transactionManager"
class="org.jencks.factory.TransactionManagerFactoryBean"/>
Any ideas ??
thanks.
best regards.
--
View this message in context:
http://www.nabble.com/question-about-SOAP-through-http-bc-...-tf3882428s12049.html#a11003755
Sent from the ServiceMix - User mailing list archive at Nabble.com.