[
https://issues.apache.org/jira/browse/CXF-4802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andriy Redko updated CXF-4802:
------------------------------
Attachment: patch-server-shutdown.txt
Hi All,
I have looked into the issue and figured out the main cause: server.destroy()
doesn't actually destroy the instance but just removes the handler from Jetty
HTTP server. Because of that, all Jetty threads are kept alive and prevent
application from normal termination. The solution I came up with is to initiate
the shutdown in case no handlers (servants) are present anymore
(patch-server-shutdown.txt). Please provide your feedback (I know at least one
test case which should easily be fixed if suggested patch would be approved).
Thanks.
Andriy
> JAXRSServerFactoryBean server does not terminate
> ------------------------------------------------
>
> Key: CXF-4802
> URL: https://issues.apache.org/jira/browse/CXF-4802
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.7.2
> Environment: Windows 7, Eclipse Juno
> java version "1.6.0_33"
> Java(TM) SE Runtime Environment (build 1.6.0_33-b05)
> Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
> Reporter: Andrew J. Macbeth
> Priority: Minor
> Attachments: patch-server-shutdown.txt
>
>
> When running from main(), the server process created from
> JAXRSServerFactoryBean does not terminate when main() does.
> JAXRSServerFactoryBean factoryBean = new
> JAXRSServerFactoryBean();
> factoryBean.setResourceClasses(MyService.class);
> factoryBean.setResourceProvider(MyService.class,
> new SingletonResourceProvider(myService));
> factoryBean.setAddress("http://localhost:8080/info");
> factoryBean.setStart(false);
> Server server = factoryBean.create();
> server.start();
> try {
> System.out.print("Press ENTER to stop: ");
> System.in.read();
> server.stop();
> server.destroy();
> server = null;
> }
> This all dependencies in pom.xml:
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxrs</artifactId>
> <version>2.7.2</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http-jetty</artifactId>
> <version>2.7.2</version>
> </dependency>
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)