Bug 1060747

Summary: Deployment of Business-central to WebSphere app server 8.5 fails with "Singleton is not set" exception
Product: [Retired] JBoss BRMS Platform 6 Reporter: Radovan Synek <rsynek>
Component: Business CentralAssignee: Maciej Swiderski <mswiders>
Status: CLOSED CURRENTRELEASE QA Contact: Radovan Synek <rsynek>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.0CC: dgutierr, etirelli, mwinkler, pere.fernandez, porcelli, rrajasek, rzhang, trikkola
Target Milestone: ER1Keywords: TestBlocker
Target Release: 6.0.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 19:53:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1061149    
Attachments:
Description Flags
server log excerpt
none
Server log after removing Weld libraries
none
server log for drools-wb - after uberfire authManager fix and without Weld none

Description Radovan Synek 2014-02-03 13:57:12 UTC
Created attachment 858609 [details]
server log excerpt

Deployment of BRMS business-central (generic deployable binaries distribution, CR2) failed with java.lang.IllegalStateException: Singleton is not set, when initializing CDI beans. Detailed server log excerpt is in the attachment. Business-central was deployed without any configuration changes.

It seems as a conflict between Weld, which is bundled in business-central.war and webbeans, CDI implementation in WAS.

Comment 2 Marek Winkler 2014-02-06 07:31:36 UTC
Created attachment 860028 [details]
Server log after removing Weld libraries

Attaching server log after Radovan removed weld* jars from business-central.war.

It seems there is now a different problem: 

javax.enterprise.inject.UnsatisfiedResolutionException: Api type [org.uberfire.security.impl.authz.RuntimeAuthorizationManager] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()]
for injection into 
 Field Injection Point, field :  org.uberfire.security.impl.authz.RuntimeAuthorizationManager org.uberfire.security.server.authz.cdi.AbstractSecurityInterceptor.authzManager

Comment 3 Radovan Synek 2014-02-06 17:16:58 UTC
Created attachment 860266 [details]
server log for drools-wb - after uberfire authManager fix and without Weld

Comment 4 Toni Rikkola 2014-02-07 08:19:35 UTC
Uberfire uses Errai and Errai uses Weld. 
Errai 3.x is supposed to be able to work without Weld. Before this is fixed in Errai this BZ can not be fixed.

Comment 7 Mario Fusco 2014-02-10 14:01:09 UTC
Since Toni is continuing working on this issue, I am reassigning this ticket to him.

Comment 8 Alexandre Porcelli 2014-02-10 23:44:03 UTC
Removed references to weld extension exclusion and using Alternative in place.

(master) http://github.com/uberfire/uberfire/commit/775dba334
(0.3.x) http://github.com/uberfire/uberfire/commit/e7331c1c9

Comment 14 Alexandre Porcelli 2014-02-19 09:55:22 UTC
Ops.. adding back loging.jsp to master:

(master) http://github.com/droolsjbpm/kie-wb-distributions/commit/94a37e7b9

Comment 19 Alexandre Porcelli 2014-02-28 18:44:00 UTC
Maciej is taking cara of it right now.

Comment 20 Radovan Synek 2014-03-18 17:23:14 UTC
qe_test_coverage: failure of deployment, no additional test needed

Comment 21 Maciej Swiderski 2014-03-21 14:16:37 UTC
here comes all commits for the work done for supporting websphere 

jbpm
master:
https://github.com/droolsjbpm/jbpm/commit/c14806943b3817a9766dc56d13f7ad75beeb7273
https://github.com/droolsjbpm/jbpm/commit/4aff9db532457642f7c3c0fe30d944938217225a

6.0.x:
https://github.com/droolsjbpm/jbpm/commit/5e2d485e165ca7f5c91bf6eaa114c1513e3c75a4
https://github.com/droolsjbpm/jbpm/commit/94e3f3beb21dc6ff12d50fa587575fb45f2967ed

jbpm-console-ng
master:
https://github.com/droolsjbpm/jbpm-console-ng/commit/b6045a0232a0a2fb8041bef1d46dffbbb9c6fe22

6.0.x:
https://github.com/droolsjbpm/jbpm-console-ng/commit/c9e16205a7102db9f935a0f0e276c1b700e51f70

drools-wb
master:
https://github.com/droolsjbpm/drools-wb/commit/9691a792f5ae0c67491eaa4cbbfdfc3c4325233b

6.0.x:
https://github.com/droolsjbpm/drools-wb/commit/2290a04b73ad036e467e03c2c02570f8021bcb10

drools:
master:
https://github.com/droolsjbpm/drools/commit/0eca1635f0e2046d46084e32cc723002c631e43c

6.0.x:
https://github.com/droolsjbpm/drools/commit/d07d53e329da39d414b9e111444a1e18182ca736

kie-wb-disitributions:
master:
https://github.com/droolsjbpm/kie-wb-distributions/commit/f7181d8245691e8f291c7357226f936f9628a2e7

6.0x:
https://github.com/droolsjbpm/kie-wb-distributions/commit/59f8c8c101d43a5fc55769d23f6bb64c4111fd54

uberfire
master:
https://github.com/uberfire/uberfire/commit/1e8f95119333a58d9ffe71b5693da0815d3c0398

0.3.x:
https://github.com/uberfire/uberfire/commit/ee0b0c6bfbd9d73f69a3b38cf1a91333f2122d8d

the only limitation currently still being in place for WebSphere is CDI extension used for direct injection of ksession (and kbase, container). This seems to be a WebSphere with CDI implementation:
websphere forum thread: https://www.ibm.com/developerworks/community/forums/html/topic?id=92ecf4a0-eb16-49a0-95d7-eddbcd885756&ps=25

openwebbeans that is used by WebSphere for CDI does not have this issue with recent versions although not sure which version is used by WAS.

That means that limitation is only when custom rules are requires for approving REST interface requests - REST interface for design time operations like build project, etc. Runtime REST is not affected by this at all. Without need to modify rules for default rest approver functionality is exactly the same for both EAP/Tomcat and WebSphere.

Comment 22 Radovan Synek 2014-03-21 15:34:28 UTC
As it seems, every commit stated in previous comment 21 is missing in 6.0.1.CR1.

Comment 23 Radovan Synek 2014-03-21 15:34:48 UTC
*** Bug 1079348 has been marked as a duplicate of this bug. ***

Comment 24 Radovan Synek 2014-04-29 08:04:06 UTC
Verified with BPMS-6.0.2.ER2