odata4jを既存のCXFサービスアプリケーションに統合しようとしています。サーブレットは、既存のSOAPおよびRESTサービスをすでにホストしています。私のアプリケーションサーバーはtomcatです。
私のweb.xml:
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
既存のSOAPおよびRESTサービスは、jaxrsおよびjaxws構成ファイルを介して構成されます。
JPAODataプロデューサーファクトリを作成しました。
public class CmecfOdataProducerFactoryImpl implements ODataProducerFactory {
String namespace = "MyOData";
private int maxResults = 100;
@Override
public ODataProducer create(Properties prprts) {
String persistenceName = null;
try {
persistenceName = ServiceLocator.getInstance().getResource("java:/comp/env/persistenceUnitName", String.class);
} catch (Exception ex) {
Logger.getLogger(CmecfOdataProducerFactoryImpl.class.getName()).log(Level.SEVERE, null, ex);
}
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceName);
JPAProducer producer = new JPAProducer(emf, namespace, maxResults);
return producer;
}
}
このodataサービスを含める最もクリーンな方法は何ですか?
助けてくれてありがとう!