Until an hour or so ago, the thing I'm working on launched its
endpoints without any soap at all, using the CXF-specific JAXWS
service factory.

To get my paws onto the http configuration, I switched to spring.

Now, I've got reused address problems.

The app context is entirely here. I do call close on the app context.

What's different?


<beans xmlns="http://www.springframework.org/schema/beans";
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
      xmlns:jaxws="http://cxf.apache.org/jaxws";
      xmlns:http="http://cxf.apache.org/transports/http/configuration";
      xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration";
      xmlns:util="http://www.springframework.org/schema/util";
      xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/transports/http/configuration
     http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://cxf.apache.org/transports/http-jetty/configuration
    http://cxf.apache.org/schemas/configuration/http-jetty.xsd";>

    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

    <httpj:engine-factory>
     <httpj:engine port="${jdd.port}">

      <httpj:threadingParameters minThreads="5"
                                 maxThreads="5" />
      <httpj:connector>
        <bean class="org.eclipse.jetty.server.nio.BlockingChannelConnector">
           <property name="port" value="${jdd.port}" />
           <property name="maxIdleTime">
            <util:constant static-field="java.lang.Integer.MAX_VALUE"/>
           </property>
           <property name="reuseAddress" value="true"/>
        </bean>
      </httpj:connector>
    </httpj:engine>
  </httpj:engine-factory>

<!--  assume that the doc database bean is injected from code -->

  <jaxws:endpoint id="documentDatabaseEndpoint"
    implementorClass="com.basistech.jdd.DocumentDatabase"
    implementor="#documentDatabaseImpl"
    address="http://0.0.0.0:${jdd.port}/documentDatabase";
    >
     <jaxws:dataBinding>
      <bean class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
     </jaxws:dataBinding>
     <jaxws:properties>
      <entry key="mtom-enabled" value="true"/>
    </jaxws:properties>
  </jaxws:endpoint>

</beans>

Reply via email to