[jboss-jira] [JBoss JIRA] (WFLY-11999) Wildfly creates to many instances of all web service classes
Stefan Frings (Jira)
issues at jboss.org
Tue Jun 2 01:58:00 EDT 2020
[ https://issues.redhat.com/browse/WFLY-11999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14129410#comment-14129410 ]
Stefan Frings commented on WFLY-11999:
--------------------------------------
Thanks for your answer.
This example code is an extract from a larger application. First we had a SOAP interface only but later decided to add a Java interface as well for performance reason. I thought that I have to add the @ApplicationScoped (or any other scope). But it works also without it. So thanks for that, it solves the issue partially.
The attaches test program is now reduced to:
{code}
package com.mvneco.test;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@WebService
public class SoapService
{
private Log log = LogFactory.getLog(SoapService.class);
public SoapService()
{
log.debug("Init SoapService 1");
}
@WebMethod
public String test(String payload)
{
log.debug("Start test(). payload="+payload);
return "OK";
}
}
{code}
I still get multiple log messages about the initialization:
{code}
2020-06-02 07:55:24,908 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0027: Starting deployment of "Test-1.0-SNAPSHOT.war" (runtime-name: "Test-1.0-SNAPSHOT.war")
2020-06-02 07:55:24,913 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-7) WFLYDS0013: Started FileSystemDeploymentService for directory /home/sfrings/wildfly/standalone/deployments
2020-06-02 07:55:25,653 INFO [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0006: Undertow HTTPS listener https listening on 127.0.0.1:8443
2020-06-02 07:55:25,797 INFO [org.jboss.ws.common.management] (MSC service thread 1-2) JBWS022052: Starting JBossWS 5.2.4.Final (Apache CXF 3.2.7)
2020-06-02 07:55:26,274 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-7) WFLYJCA0005: Deploying non-JDBC-compliant driver class org.mariadb.jdbc.Driver (version 2.4)
2020-06-02 07:55:26,332 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = mariadb-java-client-2.4.1.jar
2020-06-02 07:55:26,493 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) WFLYJCA0098: Bound non-transactional data source: java:jboss/datasources/EcopayDS
2020-06-02 07:55:26,493 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) WFLYJCA0098: Bound non-transactional data source: java:jboss/datasources/EcocoreDS
2020-06-02 07:55:26,501 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) WFLYJCA0098: Bound non-transactional data source: java:jboss/datasources/EcobillDS
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jboss.invocation.proxy.AbstractProxyFactory$1 (jar:file:/home/sfrings/wildfly/modules/system/layers/base/org/jboss/invocation/main/jboss-invocation-1.5.2.Final.jar!/) to method java.lang.Object.clone()
WARNING: Please consider reporting this to the maintainers of org.jboss.invocation.proxy.AbstractProxyFactory$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-06-02 07:55:26,654 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-5) JBWS024061: Adding service endpoint metadata: id=com.mvneco.test.SoapService
address=http://localhost:8080/Test-1.0-SNAPSHOT/SoapService
implementor=com.mvneco.test.SoapService
serviceName={http://test.mvneco.com/}SoapServiceService
portName={http://test.mvneco.com/}SoapServicePort
annotationWsdlLocation=null
wsdlLocationOverride=null
mtomEnabled=false
2020-06-02 07:55:26,766 INFO [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-1) ISPN000128: Infinispan version: Infinispan 'Infinity Minus ONE +2' 9.4.8.Final
2020-06-02 07:55:27,491 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 66) WFLYCLINF0002: Started client-mappings cache from ejb container
2020-06-02 07:55:27,523 DEBUG [com.mvneco.test.SoapService] (MSC service thread 1-5) Init SoapService 1 <<<<<<<<<<<<<<<<<
2020-06-02 07:55:27,592 INFO [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (MSC service thread 1-5) Creating Service {http://test.mvneco.com/}SoapServiceService from class com.mvneco.test.SoapService
2020-06-02 07:55:27,912 INFO [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-5) Setting the server's publish address to be http://localhost:8080/Test-1.0-SNAPSHOT/SoapService
2020-06-02 07:55:27,975 INFO [org.jboss.ws.cxf.deployment] (MSC service thread 1-5) JBWS024074: WSDL published to: file:/home/sfrings/wildfly/standalone/data/wsdl/Test-1.0-SNAPSHOT.war/SoapServiceService.wsdl
2020-06-02 07:55:28,037 INFO [org.jboss.as.webservices] (MSC service thread 1-2) WFLYWS0003: Starting service jboss.ws.endpoint."Test-1.0-SNAPSHOT.war"."com.mvneco.test.SoapService"
2020-06-02 07:55:28,213 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 66) WFLYUT0021: Registered web context: '/Test-1.0-SNAPSHOT' for server 'default-server'
2020-06-02 07:55:28,259 INFO [org.jboss.as.server] (ServerService Thread Pool -- 39) WFLYSRV0010: Deployed "Test-1.0-SNAPSHOT.war" (runtime-name : "Test-1.0-SNAPSHOT.war")
2020-06-02 07:55:28,259 INFO [org.jboss.as.server] (ServerService Thread Pool -- 39) WFLYSRV0010: Deployed "mariadb-java-client-2.4.1.jar" (runtime-name : "mariadb-java-client-2.4.1.jar")
2020-06-02 07:55:28,384 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
2020-06-02 07:55:28,387 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
2020-06-02 07:55:28,394 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
2020-06-02 07:55:28,394 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 16.0.0.Final (WildFly Core 8.0.0.Final) started in 8988ms - Started 456 of 647 services (334 services are lazy, passive or on-demand)
2020-06-02 07:56:42,513 DEBUG [com.mvneco.test.SoapService] (default task-1) Init SoapService 1 <<<<<<<<<<<<<<<<<<<<
2020-06-02 07:56:42,518 DEBUG [com.mvneco.test.SoapService] (default task-1) Init SoapService 1 <<<<<<<<<<<<<<<<<<<<
2020-06-02 07:56:42,518 DEBUG [com.mvneco.test.SoapService] (default task-1) Start test(). payload=?
{code}
The message "Init SoapService 1" occurs 3 times.
> Wildfly creates to many instances of all web service classes
> ------------------------------------------------------------
>
> Key: WFLY-11999
> URL: https://issues.redhat.com/browse/WFLY-11999
> Project: WildFly
> Issue Type: Bug
> Components: Web Services
> Affects Versions: 8.0.0.Final, 16.0.0.Final, 19.0.0.Final
> Environment: Ubuntu 18.10 64bit, Open JDK 8 or Open JDK 11
> Reporter: Stefan Frings
> Assignee: Parul Sharma
> Priority: Minor
> Attachments: Test-1.0-SNAPSHOT.war, Test.zip, standalone.xml
>
>
> 1) My @Webservice classes are all constructed multiple times (3x - 4x) but I expected only one instance.
> 2) Only the second instance receives a call to the observer method for initialization. I expect that this method is called in each instance.
> The issue can be reproduced with the attached minimum project on Wildfly 8 with JDK 8 as well as Wildfly 16 with JDK 11.
> Complete source code of the whole application:
> {code}
> package com.mvneco.test;
> import javax.enterprise.context.ApplicationScoped;
> import javax.enterprise.context.Initialized;
> import javax.enterprise.event.Observes;
> import javax.jws.WebMethod;
> import javax.jws.WebService;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> @ApplicationScoped
> @WebService
> public class SoapService
> {
> private Log log = LogFactory.getLog(SoapService.class);
> public SoapService()
> {
> log.debug("Init SoapService 1");
> }
> @WebMethod(exclude = true)
> public void init(@Observes @Initialized(ApplicationScoped.class) Object init)
> {
> log.debug("Init SoapService 2");
> }
> @WebMethod
> public String test(String payload)
> {
> log.debug("Start test(). payload="+payload);
> return "OK";
> }
> }
> {code}
> Extract from Log messages that show the issue (the complete log is in the attached ZIP):
> {code}
> 2019-04-17 13:12:21,399 DEBUG [com.mvneco.test.SoapService] (MSC service thread 1-2) Init SoapService 1
> 2019-04-17 13:12:23,068 DEBUG [com.mvneco.test.SoapService] (ServerService Thread Pool -- 74) Init SoapService 1
> 2019-04-17 13:12:23,070 DEBUG [com.mvneco.test.SoapService] (ServerService Thread Pool -- 74) Init SoapService 2
> 2019-04-17 13:12:23,475 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 16.0.0.Final (WildFly Core 8.0.0.Final) started in 10514ms - Started 510 of 699 services (337 services are lazy, passive or on-demand)
> 2019-04-17 13:12:28,920 INFO [org.apache.cxf.services.SoapService.REQ_IN] (default task-1) REQ_IN
> Address: http://localhost:8080/Test-1.0-SNAPSHOT/SoapService
> ...
> 2019-04-17 13:12:28,932 DEBUG [com.mvneco.test.SoapService] (default task-1) Init SoapService 1
> 2019-04-17 13:12:28,937 DEBUG [com.mvneco.test.SoapService] (default task-1) Init SoapService 1
> 2019-04-17 13:12:28,937 DEBUG [com.mvneco.test.SoapService] (default task-1) Start test(). payload=?
> 2019-04-17 13:12:28,969 INFO [org.apache.cxf.services.SoapService.RESP_OUT] (default task-1) RESP_OUT
> Content-Type: text/xml
> ...
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list