[
https://issues.jboss.org/browse/WFLY-9443?page=com.atlassian.jira.plugin....
]
Martin Kouba commented on WFLY-9443:
------------------------------------
Hi Juan, I think this is a packaging/class loading problem. {{wftest-ejb.jar}} is a
top-level EJB jar but can be also found in {{wftest-vaadin.war/WEB-INF/lib}}. By default,
the classes in war can access the classes belonging to ejb jars (see also [EAR Class
Loading|https://docs.jboss.org/author/display/WFLY10/Class+Loading+in+Wil...])
and so when performing injection on {{ar.com.zir.wftest.ejb.config.InitialConfig}} the
container does not know which {{ar.com.zir.wftest.ejb.services.MovimientoService}} should
be used.
I'm not sure about EJB but in CDI this is non-portable and often problematic:
_"If a bean class is deployed in two different bean archives, non-portable behavior
results. Portable applications must deploy each bean class in no more than one bean
archive."_ (see also [12.1. Bean
archives|http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#bean_archive])
So I think you should either try to change the scope of {{wftest-ejb}} dependency in war
pom.xml to {{provided}} or change the {{<ear-subdeployments-isolated>}} value to
{{true}}.
Random deploy error with @Startup @Singleton EJB
------------------------------------------------
Key: WFLY-9443
URL:
https://issues.jboss.org/browse/WFLY-9443
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, Class Loading, EJB
Affects Versions: 11.0.0.CR1
Environment: Wildfly 11.0CR1 + Vaadin 8.1.4
Tested on Debian 9.1 and Windows 10
Reporter: Juan Martin Runge
Assignee: Martin Kouba
Labels: regression
Attachments: error.log, success.log, wftest-ear-0.1.0.ear.tar.gz, wftest.tar.gz
Simple EAR project with an EJB Module and a WAR Module. War uses Vaadin (think is not
relevant but mention it anyway). On the EJB Module I have a @Singleton @Startup bean which
has injected a@LocalBean @Stateless bean via @Inject annotation (tested with @EJB
annotation with same results). The UI on the WAR side also calls this @LocalBean
@Stateless bean. Randomly, when I deploy, redeploy or restart the server, the EAR refuses
to deploy do java.lang.IllegalStateException because it cannot inject the @Stateless bean
inside the @Startup bean.
Attached sample app, project, log with error and log with success.
If you check the success log, you will see the @Startup @Singleton bean gets instanciated
twice.. Quite strange.
Also, this didnt happened with Wildfly 9 (same app deployed perfectly)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)