[JBoss JIRA] (JBOSGI-795) Investigate exception during bundle startup
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-795?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov updated JBOSGI-795:
----------------------------------
Component/s: wildfly
> Investigate exception during bundle startup
> -------------------------------------------
>
> Key: JBOSGI-795
> URL: https://issues.jboss.org/browse/JBOSGI-795
> Project: JBoss OSGi
> Issue Type: Task
> Components: wildfly
> Affects Versions: JBossOSGI 2.5.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
>
> This seems quite harmless as bundles function correctly.
> Need to investigate for potential problems and causes.
> {noformat}
> 03:28:19,974 ERROR [com.mrs.budget.portal] (Thread-78) FrameworkEvent ERROR: org.apache.felix.log.LogException: java.lang.IllegalStateException: WFLYUT0058: Cannot activate context: service jboss.undertow.deployment.default-server.default-host./budget
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:202)
> at org.jboss.as.osgi.web.WebContextLifecycleInterceptor.invoke(WebContextLifecycleInterceptor.java:96)
> at org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService.handleStateChange(AbstractLifecycleInterceptorService.java:264)
> at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:252)
> at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:241)
> at org.jboss.osgi.framework.internal.UserBundleState.startInternalNow(UserBundleState.java:635)
> at org.jboss.osgi.framework.internal.UserBundleState.startInternal(UserBundleState.java:524)
> at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundle(BundleManagerPlugin.java:576)
> at org.jboss.as.osgi.service.BundleLifecycleIntegration$BundleLifecycleImpl.start(BundleLifecycleIntegration.java:276)
> at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundleLifecycle(BundleManagerPlugin.java:566)
> at org.jboss.osgi.framework.internal.AbstractBundleState.startWithOptions(AbstractBundleState.java:493)
> at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:488)
> at org.jboss.osgi.framework.internal.StartLevelManagerImpl.increaseFrameworkStartLevel(StartLevelManagerImpl.java:168)
> at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:151)
> at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:107)
> at org.jboss.osgi.framework.spi.AbstractIntegrationService.start(AbstractIntegrationService.java:60)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException
> at org.jboss.msc.value.InjectedValue.getValue(InjectedValue.java:47)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:94)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:200)
> ... 20 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (JBOSGI-795) Investigate exception during bundle startup
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-795?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov updated JBOSGI-795:
----------------------------------
Affects Version/s: JBossOSGI 2.5.1
> Investigate exception during bundle startup
> -------------------------------------------
>
> Key: JBOSGI-795
> URL: https://issues.jboss.org/browse/JBOSGI-795
> Project: JBoss OSGi
> Issue Type: Task
> Affects Versions: JBossOSGI 2.5.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
>
> This seems quite harmless as bundles function correctly.
> Need to investigate for potential problems and causes.
> {noformat}
> 03:28:19,974 ERROR [com.mrs.budget.portal] (Thread-78) FrameworkEvent ERROR: org.apache.felix.log.LogException: java.lang.IllegalStateException: WFLYUT0058: Cannot activate context: service jboss.undertow.deployment.default-server.default-host./budget
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:202)
> at org.jboss.as.osgi.web.WebContextLifecycleInterceptor.invoke(WebContextLifecycleInterceptor.java:96)
> at org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService.handleStateChange(AbstractLifecycleInterceptorService.java:264)
> at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:252)
> at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:241)
> at org.jboss.osgi.framework.internal.UserBundleState.startInternalNow(UserBundleState.java:635)
> at org.jboss.osgi.framework.internal.UserBundleState.startInternal(UserBundleState.java:524)
> at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundle(BundleManagerPlugin.java:576)
> at org.jboss.as.osgi.service.BundleLifecycleIntegration$BundleLifecycleImpl.start(BundleLifecycleIntegration.java:276)
> at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundleLifecycle(BundleManagerPlugin.java:566)
> at org.jboss.osgi.framework.internal.AbstractBundleState.startWithOptions(AbstractBundleState.java:493)
> at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:488)
> at org.jboss.osgi.framework.internal.StartLevelManagerImpl.increaseFrameworkStartLevel(StartLevelManagerImpl.java:168)
> at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:151)
> at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:107)
> at org.jboss.osgi.framework.spi.AbstractIntegrationService.start(AbstractIntegrationService.java:60)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException
> at org.jboss.msc.value.InjectedValue.getValue(InjectedValue.java:47)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:94)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:200)
> ... 20 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (JBOSGI-795) Investigate exception during bundle startup
by Arcadiy Ivanov (JIRA)
Arcadiy Ivanov created JBOSGI-795:
-------------------------------------
Summary: Investigate exception during bundle startup
Key: JBOSGI-795
URL: https://issues.jboss.org/browse/JBOSGI-795
Project: JBoss OSGi
Issue Type: Task
Reporter: Arcadiy Ivanov
Assignee: Arcadiy Ivanov
This seems quite harmless as bundles function correctly.
Need to investigate for potential problems and causes.
{noformat}
03:28:19,974 ERROR [com.mrs.budget.portal] (Thread-78) FrameworkEvent ERROR: org.apache.felix.log.LogException: java.lang.IllegalStateException: WFLYUT0058: Cannot activate context: service jboss.undertow.deployment.default-server.default-host./budget
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:202)
at org.jboss.as.osgi.web.WebContextLifecycleInterceptor.invoke(WebContextLifecycleInterceptor.java:96)
at org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService.handleStateChange(AbstractLifecycleInterceptorService.java:264)
at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:252)
at org.jboss.osgi.framework.internal.AbstractBundleState.changeState(AbstractBundleState.java:241)
at org.jboss.osgi.framework.internal.UserBundleState.startInternalNow(UserBundleState.java:635)
at org.jboss.osgi.framework.internal.UserBundleState.startInternal(UserBundleState.java:524)
at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundle(BundleManagerPlugin.java:576)
at org.jboss.as.osgi.service.BundleLifecycleIntegration$BundleLifecycleImpl.start(BundleLifecycleIntegration.java:276)
at org.jboss.osgi.framework.internal.BundleManagerPlugin.startBundleLifecycle(BundleManagerPlugin.java:566)
at org.jboss.osgi.framework.internal.AbstractBundleState.startWithOptions(AbstractBundleState.java:493)
at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:488)
at org.jboss.osgi.framework.internal.StartLevelManagerImpl.increaseFrameworkStartLevel(StartLevelManagerImpl.java:168)
at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:151)
at org.jboss.osgi.framework.internal.FrameworkActive.createServiceValue(FrameworkActive.java:107)
at org.jboss.osgi.framework.spi.AbstractIntegrationService.start(AbstractIntegrationService.java:60)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException
at org.jboss.msc.value.InjectedValue.getValue(InjectedValue.java:47)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:94)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$ContextActivatorImpl.startContext(UndertowDeploymentService.java:200)
... 20 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov resolved JBOSGI-794.
-----------------------------------
Fix Version/s: JBossOSGI 2.5.2
JBossOSGI 2.4.2
Resolution: Done
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Fix For: JBossOSGI 2.5.2, JBossOSGI 2.4.2
>
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov commented on JBOSGI-794:
---------------------------------------
{noformat}
GET /budget/portal/resources/angular-material/1.0.7/angular-material.css HTTP/1.1
Host: 127.0.0.1:8080
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,ru;q=0.6
HTTP/1.1 200 OK
Connection: keep-alive
Last-Modified: Thu, 28 Apr 2016 23:20:36 GMT
X-Powered-By: Undertow/1
Server: WildFly/10
Content-Type: text/css
Content-Length: 486113
Date: Tue, 17 May 2016 07:14:54 GMT
{noformat}
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 11 months
[JBoss JIRA] (JBOSGI-793) Can't deploy wab fragment
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-793?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov commented on JBOSGI-793:
---------------------------------------
[~herr_romich], please see JBOSGI-794.
> Can't deploy wab fragment
> -------------------------
>
> Key: JBOSGI-793
> URL: https://issues.jboss.org/browse/JBOSGI-793
> Project: JBoss OSGi
> Issue Type: Bug
> Components: wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.4.0, JBossOSGI 2.5.0, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Roman Smushkevich
> Assignee: Arcadiy Ivanov
> Fix For: JBossOSGI 2.5.2, JBossOSGI 2.4.2
>
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> If you try to deploy a wab fragment to already deployed wab comes exception:
> {code:java}
> 00:26:42,178 INFO [org.jboss.osgi.framework] (MSC service thread 1-7) JBOSGI011001: Bundle installed: com.mrs.budget.portal:1.0.0
> 00:26:42,180 INFO [org.jboss.osgi.framework] (MSC service thread 1-8) JBOSGI011001: Bundle installed: com.mrs.budget.portal.resources:1.0.0
> 00:26:50,267 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."com.mrs.budget.portal.resources.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."com.mrs.budget.portal.resources.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "com.mrs.budget.portal.resources.jar"
> at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
> at org.jboss.as.webservices.deployers.WSClassVerificationProcessor.deploy(WSClassVerificationProcessor.java:75)
> at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
> ... 5 more
> 00:26:55,362 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0021: Registered web context: /budget
> 00:26:55,374 INFO [org.jboss.osgi.framework] (MSC service thread 1-8) JBOSGI011002: Bundle started: com.mrs.budget.portal:1.0.0
> 00:26:55,376 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "com.mrs.budget.portal.resources.jar")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"com.mrs.budget.portal.resources.jar\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"com.mrs.budget.portal.resources.jar\".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"com.mrs.budget.portal.resources.jar\"
> Caused by: java.lang.NullPointerException"}}
> 00:26:55,393 INFO [org.jboss.as.server] (ServerService Thread Pool -- 36) WFLYSRV0010: Deployed "com.mrs.budget.portal.resources.jar" (runtime-name : "com.mrs.budget.portal.resources.jar")
> 00:26:55,394 INFO [org.jboss.as.server] (ServerService Thread Pool -- 36) WFLYSRV0010: Deployed "com.mrs.budget.portal.jar" (runtime-name : "com.mrs.budget.portal.jar")
> 00:26:55,397 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
> WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."com.mrs.budget.portal.resources.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."com.mrs.budget.portal.resources.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "com.mrs.budget.portal.resources.jar"
> {code}
> Debugging showd, that the deployment of wab Fragment tryes to pass through WS verification, that needs a deployment unit module:
> {code:java}
> @Override
> public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
> final DeploymentUnit unit = phaseContext.getDeploymentUnit();
> final JAXWSDeployment wsDeployment = unit.getAttachment(JAXWS_ENDPOINTS_KEY);
> if (wsDeployment != null) {
> final Module module = unit.getAttachment(Attachments.MODULE);
> final DeploymentReflectionIndex deploymentReflectionIndex = unit
> .getAttachment(org.jboss.as.server.deployment.Attachments.REFLECTION_INDEX);
> final ClassLoader moduleClassLoader = module.getClassLoader();
> for (AbstractEndpoint pojoEndpoint : wsDeployment.getPojoEndpoints()) {
> verifyEndpoint(pojoEndpoint, moduleClassLoader, deploymentReflectionIndex);
> }
> for (AbstractEndpoint ejbEndpoint : wsDeployment.getEjbEndpoints()) {
> verifyEndpoint(ejbEndpoint, moduleClassLoader, deploymentReflectionIndex);
> }
> verifyApacheCXFModuleDependencyRequirement(unit);
> }
> }
> {code}
> but according to ModelManager - fragment is not a module
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 12 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov commented on JBOSGI-794:
---------------------------------------
[~herr_romich] The problem is resolved. Please get the latest patch snapshot from here https://repository.jboss.org/nexus/content/groups/public/org/jboss/osgi/w... and confirm that things are now working on your side.
A word of caution: since your host tightly depends on the fragment you *MUST* use Requires/Provides capability described here (http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...) to ensure correct dependency and order. This is especially important when you have your JARs/WABs deployed and do a server cold-start, as a race condition may occur.
Here's an example of a proper dependency setup:
* https://github.com/jbosgi/jbosgi/pull/24/files#diff-1be7f160dd6c17d0c40de...
* https://github.com/jbosgi/jbosgi/pull/24/files#diff-1be7f160dd6c17d0c40de...
Also, as a reminder, host fragments are resolved at host startup. Fragments deployed after the host is resolved will not be visible to the host.
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 12 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov updated JBOSGI-794:
----------------------------------
Git Pull Request: https://github.com/jbosgi/jbosgi/pull/24, https://github.com/jbosgi/jbosgi/pull/25
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 12 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Work on JBOSGI-794 stopped by Arcadiy Ivanov.
---------------------------------------------
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 12 months
[JBoss JIRA] (JBOSGI-794) WAB Fragment resources are not available through host
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/JBOSGI-794?page=com.atlassian.jira.plugin... ]
Arcadiy Ivanov updated JBOSGI-794:
----------------------------------
Description:
{quote}
Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
{quote}
----
OSGI EE spec is as follows:
{quote}
128.6.3 Resource Lookup
The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
For example, assume the following manifest for a bundle:
Bundle-ClassPath: localized, WEB-INF
...
This WAB has an attached fragment acme-de.jar with the following content:
META-INF/MANIFEST.MF
localized/logo.png
The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
{quote}
----
Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
----
WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
----
IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
was:
{quote}
Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
{quote}
----
OSGI EE spec is as follows:
{quote}
128.6.3 Resource Lookup
The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
For example, assume the following manifest for a bundle:
Bundle-ClassPath: localized, WEB-INF
...
This WAB has an attached fragment acme-de.jar with the following content:
META-INF/MANIFEST.MF
localized/logo.png
The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
{quote}
----
Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
One possible solution is to use a servlet for all static content, but more investigation is needed.
----
WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
----
http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
> WAB Fragment resources are not available through host
> -----------------------------------------------------
>
> Key: JBOSGI-794
> URL: https://issues.jboss.org/browse/JBOSGI-794
> Project: JBoss OSGi
> Issue Type: Bug
> Components: webapp, wildfly
> Affects Versions: JBossOSGI 2.3.1, JBossOSGI 2.5.1, JBossOSGI 2.4.1
> Reporter: Arcadiy Ivanov
> Assignee: Arcadiy Ivanov
> Attachments: com.mrs.budget.portal.jar, com.mrs.budget.portal.resources.jar, standalone.xml
>
>
> {quote}
> Actually my bundle-fragment gives me no possibility to load extra resources from it. I get only 404 when try to load /budget/portal/resources/angular-material/1.0.7/angular-material.css. I have found in log, that it was created an osgi-storage for my bundle-fragment withe start=false. Is it correct so? May be you could give me some advices, how to make it work.
> {quote}
> ----
> OSGI EE spec is as follows:
> {quote}
> 128.6.3 Resource Lookup
> The getResource and getResourceAsStream methods of the ServletContext interface are used to access resources in the web application. For a WAB, these resources must be found according to the findEntries method, this method includes fragments. For the getResource and getResourceAsStream method, if multiple resources are found, then the first one must be used.
> Since the getResource and getResourceAsStream methods do not support wildcards while the findEntries method does it is necessary to escape the wildcard asterisk (’*’ \u002A) with prefixing it with a reverse solidus (backslash ’\’ \u005C). This implies that a reverse solidus must be escaped with an extra reverse solidus. For example, the path foo\bar* must be escaped to foo\\bar\*.
> The getResourcePaths method must map to the Bundle getEntryPaths method, its return type is a Set and can not handle multiples. However, the paths from the getEntryPaths method are relative while the methods of the getResourcePaths must be absolute.
> For example, assume the following manifest for a bundle:
> Bundle-ClassPath: localized, WEB-INF
> ...
> This WAB has an attached fragment acme-de.jar with the following content:
> META-INF/MANIFEST.MF
> localized/logo.png
> The getResource method for localized/logo.png uses the findEntries method to find a resource in the directory /localized and the resource logo.png. Assuming the host bundle has no localized/ directory, the Web Runtime must serve the logo.png resource from the acme-de.jar.
> {quote}
> ----
> Default Undertow servlet delegates to ServletResourceManager.getResource() that goes straight for the physical path, bypassing OSGi entirely.
> ----
> WarMetadata.setOverlays() should provide necessary overlay handling for ServletResourceManager.getResource()
> ----
> IMPORTANT: *If host depends on the fragment, capabilities _MUST_ be used to ensure proper ordering*
> See: http://stackoverflow.com/questions/11029768/when-is-an-osgi-fragment-atta...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 12 months