You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by ma...@thomsonreuters.com on 2016/02/23 12:56:06 UTC
Adding NCSARequestLog via JAXRSServerFactoryBean
Hi,
I'm using cxf to start a simple JAX-RS server using the following code (from the documentation):
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(clazz);
sf.setResourceProvider(clazz, new SingletonResourceProvider(this));
sf.setAddress("http://localhost:5000");
sf.create();
How can I modify this code to add an NCSARequestLog to the embedded jetty instance? Is this possible?
Thanks,
Matt
________________________________
This e-mail is for the sole use of the intended recipient and contains information that may be privileged and/or confidential. If you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website.<http://site.thomsonreuters.com/site/disclosures/>
Re: Adding NCSARequestLog via JAXRSServerFactoryBean
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
This is a fragment from a test:
ClassPathXmlApplicationContext ctx =
new ClassPathXmlApplicationContext(new String[]
{"/org/apache/cxf/jaxrs/spring/servers2.xml"});
Object serverBean = ctx.getBean("server1");
assertNotNull(serverBean);
JAXRSServerFactoryBean factoryBean =
(JAXRSServerFactoryBean)serverBean;
where 'server1' is a jaxrs:server id
and then it is only
factoryBean.create().
HTH, Sergey
On 23/02/16 13:00, matthew.preston@thomsonreuters.com wrote:
> Sorry if this question is trivial, but if I use that configuration, where do I put the xml and how do I need to change my code to launch the server?
>
> Thanks,
> Matt
>
> -----Original Message-----
> From: Freeman Fang [mailto:freeman.fang@gmail.com]
> Sent: 23 February 2016 12:34
> To: users@cxf.apache.org
> Subject: Re: Adding NCSARequestLog via JAXRSServerFactoryBean
>
> Yeah, the configuration way works, something like
>
> <httpj:engine port="8183">
> <httpj:handlers>
> <bean class="org.eclipse.jetty.server.handler.RequestLogHandler">
> <property name="requestLog">
> <bean class="org.eclipse.jetty.server.NCSARequestLog">
> <property name="filename" value="/home/ffang/test/tym.log"/>
> <property name="filenameDateFormat" value="yyyy_MM_dd"/>
> <property name="retainDays" value="90"/>
> <property name="append" value="true”/>
> ….
> </bean>
> </property>
> </bean>
> </httpj:handlers>
> </httpj:engine>
>
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
>
>
>
>> On Feb 23, 2016, at 8:13 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
>>
>> Hi
>>
>> I guess you may want to write a Jetty specific code directly, may be as in this demo server:
>>
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache
>> _cxf_blob_master_distribution_src_main_release_samples_jax-5Frs_search
>> _src_main_java_demo_jaxrs_search_server_Server.java&d=CwIFaQ&c=4ZIZThy
>> kDLcoWk-GVjSLm9hvvvzvGv0FLoWSRuCSs5Q&r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeA
>> xKWimPUn10ALTg1Uk6Ao2R1mxc0lzB5Ia&m=tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQ
>> YbA4oG-NM&s=_0kGFcXUU-GIcEYu72VvjMaJimjoof7nCUjyHemzUUA&e=
>>
>> Not sure how to do it with the code below, may be
>>
>> Server server = sf.create()
>>
>> and then get a Bus from it, and then
>>
>> DestinationRegistry reg = bus.getExtension(DestinationRegistry.class)
>>
>> and then get JettyHttpDestination and then somehow add a new handler to it...
>>
>> Finally, may be you can create an httpj element and jaxrs:endpoint in Spring/Blueprint and activate the context:
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__cxf.apache.org_doc
>> s_jetty-2Dconfiguration.html&d=CwIFaQ&c=4ZIZThykDLcoWk-GVjSLm9hvvvzvGv
>> 0FLoWSRuCSs5Q&r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeAxKWimPUn10ALTg1Uk6Ao2R1
>> mxc0lzB5Ia&m=tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQYbA4oG-NM&s=9K8w1aY1JRY
>> xpRo7sg1V3BcTWkVKZyB7dLLFMi1MZCw&e=
>>
>> HTH, Sergey
>>
>> On 23/02/16 11:56, matthew.preston@thomsonreuters.com wrote:
>>> Hi,
>>>
>>>
>>>
>>> I'm using cxf to start a simple JAX-RS server using the following code (from the documentation):
>>>
>>>
>>>
>>> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>>>
>>> sf.setResourceClasses(clazz);
>>>
>>> sf.setResourceProvider(clazz, new SingletonResourceProvider(this));
>>>
>>> sf.setAddress("https://urldefense.proofpoint.com/v2/url?u=http-3A__lo
>>> calhost-3A5000&d=CwIFaQ&c=4ZIZThykDLcoWk-GVjSLm9hvvvzvGv0FLoWSRuCSs5Q
>>> &r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeAxKWimPUn10ALTg1Uk6Ao2R1mxc0lzB5Ia&m
>>> =tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQYbA4oG-NM&s=MN2PXIbv9RImP4of7wb92Q
>>> 3p7Mr6N-Zmk7nDaMryD8k&e= ");
>>>
>>> sf.create();
>>>
>>>
>>>
>>> How can I modify this code to add an NCSARequestLog to the embedded jetty instance? Is this possible?
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Matt
>>>
>>>
>>> ________________________________
>>>
>>> This e-mail is for the sole use of the intended recipient and
>>> contains information that may be privileged and/or confidential. If
>>> you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website.<http://site.thomsonreuters.com/site/disclosures/>
>>>
>>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
RE: Adding NCSARequestLog via JAXRSServerFactoryBean
Posted by ma...@thomsonreuters.com.
Sorry if this question is trivial, but if I use that configuration, where do I put the xml and how do I need to change my code to launch the server?
Thanks,
Matt
-----Original Message-----
From: Freeman Fang [mailto:freeman.fang@gmail.com]
Sent: 23 February 2016 12:34
To: users@cxf.apache.org
Subject: Re: Adding NCSARequestLog via JAXRSServerFactoryBean
Yeah, the configuration way works, something like
<httpj:engine port="8183">
<httpj:handlers>
<bean class="org.eclipse.jetty.server.handler.RequestLogHandler">
<property name="requestLog">
<bean class="org.eclipse.jetty.server.NCSARequestLog">
<property name="filename" value="/home/ffang/test/tym.log"/>
<property name="filenameDateFormat" value="yyyy_MM_dd"/>
<property name="retainDays" value="90"/>
<property name="append" value="true”/>
….
</bean>
</property>
</bean>
</httpj:handlers>
</httpj:engine>
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
> On Feb 23, 2016, at 8:13 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
>
> Hi
>
> I guess you may want to write a Jetty specific code directly, may be as in this demo server:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache
> _cxf_blob_master_distribution_src_main_release_samples_jax-5Frs_search
> _src_main_java_demo_jaxrs_search_server_Server.java&d=CwIFaQ&c=4ZIZThy
> kDLcoWk-GVjSLm9hvvvzvGv0FLoWSRuCSs5Q&r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeA
> xKWimPUn10ALTg1Uk6Ao2R1mxc0lzB5Ia&m=tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQ
> YbA4oG-NM&s=_0kGFcXUU-GIcEYu72VvjMaJimjoof7nCUjyHemzUUA&e=
>
> Not sure how to do it with the code below, may be
>
> Server server = sf.create()
>
> and then get a Bus from it, and then
>
> DestinationRegistry reg = bus.getExtension(DestinationRegistry.class)
>
> and then get JettyHttpDestination and then somehow add a new handler to it...
>
> Finally, may be you can create an httpj element and jaxrs:endpoint in Spring/Blueprint and activate the context:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__cxf.apache.org_doc
> s_jetty-2Dconfiguration.html&d=CwIFaQ&c=4ZIZThykDLcoWk-GVjSLm9hvvvzvGv
> 0FLoWSRuCSs5Q&r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeAxKWimPUn10ALTg1Uk6Ao2R1
> mxc0lzB5Ia&m=tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQYbA4oG-NM&s=9K8w1aY1JRY
> xpRo7sg1V3BcTWkVKZyB7dLLFMi1MZCw&e=
>
> HTH, Sergey
>
> On 23/02/16 11:56, matthew.preston@thomsonreuters.com wrote:
>> Hi,
>>
>>
>>
>> I'm using cxf to start a simple JAX-RS server using the following code (from the documentation):
>>
>>
>>
>> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>>
>> sf.setResourceClasses(clazz);
>>
>> sf.setResourceProvider(clazz, new SingletonResourceProvider(this));
>>
>> sf.setAddress("https://urldefense.proofpoint.com/v2/url?u=http-3A__lo
>> calhost-3A5000&d=CwIFaQ&c=4ZIZThykDLcoWk-GVjSLm9hvvvzvGv0FLoWSRuCSs5Q
>> &r=ykXcTN60h3-cXsX5t7kv8zVQwTSxpeAxKWimPUn10ALTg1Uk6Ao2R1mxc0lzB5Ia&m
>> =tCDKXnNyVwy8AwK0XtEPUZjGzz6XSLoDWQYbA4oG-NM&s=MN2PXIbv9RImP4of7wb92Q
>> 3p7Mr6N-Zmk7nDaMryD8k&e= ");
>>
>> sf.create();
>>
>>
>>
>> How can I modify this code to add an NCSARequestLog to the embedded jetty instance? Is this possible?
>>
>>
>>
>> Thanks,
>>
>> Matt
>>
>>
>> ________________________________
>>
>> This e-mail is for the sole use of the intended recipient and
>> contains information that may be privileged and/or confidential. If
>> you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website.<http://site.thomsonreuters.com/site/disclosures/>
>>
>
Re: Adding NCSARequestLog via JAXRSServerFactoryBean
Posted by Freeman Fang <fr...@gmail.com>.
Yeah, the configuration way works, something like
<httpj:engine port="8183">
<httpj:handlers>
<bean class="org.eclipse.jetty.server.handler.RequestLogHandler">
<property name="requestLog">
<bean class="org.eclipse.jetty.server.NCSARequestLog">
<property name="filename" value="/home/ffang/test/tym.log"/>
<property name="filenameDateFormat" value="yyyy_MM_dd"/>
<property name="retainDays" value="90"/>
<property name="append" value="true”/>
….
</bean>
</property>
</bean>
</httpj:handlers>
</httpj:engine>
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
> On Feb 23, 2016, at 8:13 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
>
> Hi
>
> I guess you may want to write a Jetty specific code directly, may be as in this demo server:
>
> https://github.com/apache/cxf/blob/master/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java
>
> Not sure how to do it with the code below,
> may be
>
> Server server = sf.create()
>
> and then get a Bus from it, and then
>
> DestinationRegistry reg = bus.getExtension(DestinationRegistry.class)
>
> and then get JettyHttpDestination and then somehow add a new handler to it...
>
> Finally, may be you can create an httpj element and jaxrs:endpoint in Spring/Blueprint and activate the context:
> http://cxf.apache.org/docs/jetty-configuration.html
>
> HTH, Sergey
>
> On 23/02/16 11:56, matthew.preston@thomsonreuters.com wrote:
>> Hi,
>>
>>
>>
>> I'm using cxf to start a simple JAX-RS server using the following code (from the documentation):
>>
>>
>>
>> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>>
>> sf.setResourceClasses(clazz);
>>
>> sf.setResourceProvider(clazz, new SingletonResourceProvider(this));
>>
>> sf.setAddress("http://localhost:5000");
>>
>> sf.create();
>>
>>
>>
>> How can I modify this code to add an NCSARequestLog to the embedded jetty instance? Is this possible?
>>
>>
>>
>> Thanks,
>>
>> Matt
>>
>>
>> ________________________________
>>
>> This e-mail is for the sole use of the intended recipient and contains information that may be privileged and/or confidential. If you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website.<http://site.thomsonreuters.com/site/disclosures/>
>>
>
Re: Adding NCSARequestLog via JAXRSServerFactoryBean
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
I guess you may want to write a Jetty specific code directly, may be as
in this demo server:
https://github.com/apache/cxf/blob/master/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Server.java
Not sure how to do it with the code below,
may be
Server server = sf.create()
and then get a Bus from it, and then
DestinationRegistry reg = bus.getExtension(DestinationRegistry.class)
and then get JettyHttpDestination and then somehow add a new handler to
it...
Finally, may be you can create an httpj element and jaxrs:endpoint in
Spring/Blueprint and activate the context:
http://cxf.apache.org/docs/jetty-configuration.html
HTH, Sergey
On 23/02/16 11:56, matthew.preston@thomsonreuters.com wrote:
> Hi,
>
>
>
> I'm using cxf to start a simple JAX-RS server using the following code (from the documentation):
>
>
>
> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>
> sf.setResourceClasses(clazz);
>
> sf.setResourceProvider(clazz, new SingletonResourceProvider(this));
>
> sf.setAddress("http://localhost:5000");
>
> sf.create();
>
>
>
> How can I modify this code to add an NCSARequestLog to the embedded jetty instance? Is this possible?
>
>
>
> Thanks,
>
> Matt
>
>
> ________________________________
>
> This e-mail is for the sole use of the intended recipient and contains information that may be privileged and/or confidential. If you are not an intended recipient, please notify the sender by return e-mail and delete this e-mail and any attachments. Certain required legal entity disclosures can be accessed on our website.<http://site.thomsonreuters.com/site/disclosures/>
>