<< Back to previous view

[GLASSFISH-11780] Specify bundle metadata corretcly. Created: 11/Apr/10  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Critical
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


File Attachments: XML File bundles.xml    
Issue Links:
Dependency
depends on GLASSFISH-13236 [jersey] Jersey bundles optionally de... Resolved
depends on GLASSFISH-13165 Jersey uses DynamicImport-Package: * Open
blocks GLASSFISH-11782 Make GlassFish embeddable in OSGi env... Open
Issuezilla Id: 11,780
Tags: 3_1-exclude
Participants: Chris Kasso, Richard S. Hall and Sanjeeb Sahoo

 Description   

Two issues:
a) lack of correct package constraints in their Import-Package header:
Depending on they are consumers or providers, they should have appropriate upper
bound. Most of them import infinite as upper bound. This won't work for
providers, because a provider can only implement a certain package version range.
Similarly the issue of lower bound. some bundles don't specify lower bounds
while in practice they require a specific lower bound.

b) too many packages exported: Packages like metro export everything and in the
process they also leak implementation details.

This is an umbrella issue. We will require each module owner to fix their
modules and update this issue.



 Comments   
Comment by Richard S. Hall [ 14/Apr/10 11:35 AM ]

cc heavy

Comment by Sanjeeb Sahoo [ 01/Jul/10 11:14 PM ]

Now that we have made JAXB and JAX-WS packages part of system bundle even for
Equinox (see svn revision #38298 and issue #11781), when I run QL on Equinox
platform [1], I see quite a few failures. They are all related to following
exceptions found in server.log:
[#|2010-07-02T10:08:15.438+0530|SEVERE|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=40;_ThreadName=Thread-1;|Exception
while loading the app
org.glassfish.deployment.common.DeploymentException: Interceptor Class class
numberguess.InterceptorA has no method annotated with interface
javax.annotation.PostConstruct
Caused by: java.lang.IllegalStateException: Interceptor Class class
numberguess.InterceptorA has no method annotated with interface
javax.annotation.PostConstruct
[#|2010-07-02T10:09:06.867+0530|SEVERE|glassfish3.1|com.sun.xml.ws.server.http|_ThreadID=26;_ThreadName=Thread-1;|WSSERVLET11:
failed to parse runtime descriptor: java.lang.IllegalArgumentException: class
jaxwsfromwsdl.server.AddNumbersImpl has neither @WebService nor
@WebServiceProvider annotation
java.lang.IllegalArgumentException: class jaxwsfromwsdl.server.AddNumbersImpl
has neither @WebService nor @WebServiceProvider annotation

This indicates that some bundles are getting wired to JRE and some bundles are
getting wired to some other OSGi bundles for the same class. When I look at the
import package definitions, I see that quite a few bundles imprt packages with
no version range. Given below is such a list generated from a workspace which is
built in 1 July 2010:

grep javax /home/ss141213/WS/hk2/trunk/dependency-verifier/bundles.xml | grep
"[0.0.0" | grep -v javax.net | grep -v javax.management | grep -v javax.rmi |
grep -v javax.xml.stream | grep -v javax.sql | grep -v javax.naming | grep -v
javax.xml.transform | sort -u
javax.annotation.security; version="[0.0.0, infinity)",\
javax.annotation; version="[0.0.0, infinity)",\
javax.ejb; version="[0.0.0, infinity)",\
javax.el; version="[0.0.0, infinity)",\
javax.enterprise.context.spi; version="[0.0.0, infinity)",\
javax.enterprise.context; version="[0.0.0, infinity)",\
javax.enterprise.event; version="[0.0.0, infinity)",\
javax.enterprise.inject.spi; version="[0.0.0, infinity)",\
javax.enterprise.inject; version="[0.0.0, infinity)",\
javax.faces.application; version="[0.0.0, infinity)",\
javax.faces.bean; version="[0.0.0, infinity)",\
javax.faces.component.behavior; version="[0.0.0, infinity)",\
javax.faces.component.html; version="[0.0.0, infinity)",\
javax.faces.component; version="[0.0.0, infinity)",\
javax.faces.component.visit; version="[0.0.0, infinity)",\
javax.faces.context; version="[0.0.0, infinity)",\
javax.faces.convert; version="[0.0.0, infinity)",\
javax.faces.el; version="[0.0.0, infinity)",\
javax.faces.event; version="[0.0.0, infinity)",\
javax.faces.lifecycle; version="[0.0.0, infinity)",\
javax.faces.model; version="[0.0.0, infinity)",\
javax.faces.render; version="[0.0.0, infinity)",\
javax.faces.validator; version="[0.0.0, infinity)",\
javax.faces; version="[0.0.0, infinity)",\
javax.faces.view.facelets; version="[0.0.0, infinity)",\
javax.faces.view; version="[0.0.0, infinity)",\
javax.faces.webapp; version="[0.0.0, infinity)",\
javax.interceptor; version="[0.0.0, infinity)",\
javax.jws.soap; version="[0.0.0, infinity)",\
javax.jws; version="[0.0.0, infinity)",\
javax.mail.internet; version="[0.0.0, infinity)",\
javax.mail.util; version="[0.0.0, infinity)",\
javax.mail; version="[0.0.0, infinity)",\
javax.persistence; version="[0.0.0, infinity)",\
javax.resource.spi; version="[0.0.0, infinity)",\
javax.servlet.annotation; version="[0.0.0, infinity)",\
javax.servlet.descriptor; version="[0.0.0, infinity)",\
javax.servlet.http; version="[0.0.0, infinity)"
javax.servlet.http; version="[0.0.0, infinity)",\
javax.servlet.jsp.el; version="[0.0.0, infinity)",\
javax.servlet.jsp.jstl.core; version="[0.0.0, infinity)",\
javax.servlet.jsp.jstl.fmt; version="[0.0.0, infinity)",\
javax.servlet.jsp.jstl.sql; version="[0.0.0, infinity)",\
javax.servlet.jsp.tagext; version="[0.0.0, infinity)",\
javax.servlet.jsp; version="[0.0.0, infinity)",\
javax.servlet; version="[0.0.0, infinity)",\
javax.validation.bootstrap; version="[0.0.0, infinity)",\
javax.validation.constraints; version="[0.0.0, infinity)",\
javax.validation.groups; version="[0.0.0, infinity)"
javax.validation.groups; version="[0.0.0, infinity)",\
javax.validation.metadata; version="[0.0.0, infinity)",\
javax.validation; version="[0.0.0, infinity)",\
javax.xml.bind.annotation.adapters; version="[0.0.0, infinity)",\
javax.xml.bind.annotation; version="[0.0.0, infinity)",\
javax.xml.bind.attachment; version="[0.0.0, infinity)",\
javax.xml.bind; version="[0.0.0, infinity)",\
javax.xml.soap; version="[0.0.0, infinity)",\
javax.xml.ws; version="[0.0.0, infinity)",\

The file containing bundle metadata is attached here with. See bundles.xml. Open
that file, look at your bundle and see what Java EE packages without version
constraint. Fix it please. To generate the file yourself, refer to the email
that was sent to dev forum earlier.

Chris,

I have reassigned the issue to you, because this issue needs to be addressed by
respective module owners and you are in a better position to coordinate that
than me.

[1] To run QL on Equinox, do the following:
cd glassfish/osgi/equinox/
wget
http://download.eclipse.org/equinox/drops/R-3.5.1-200909170800/download.php?dropFile=org.eclipse.osgi_3.5.1.R35x_v20090827.jar
export GlassFish_Platform=Equinox
Now run QL. Please ensure you see this message in server.log:
"startup time : Equinox"

Comment by Sanjeeb Sahoo [ 02/Jul/10 03:01 AM ]

Created an attachment (id=4535)
Bundle metadata

Comment by Sanjeeb Sahoo [ 27/Aug/10 06:39 AM ]

Updated dependency

Comment by Chris Kasso [ 13/Dec/10 05:38 PM ]

No additional work will be done on this issue for 3.1. For 3.2 Rajiv (3.2 lead) should work with Sahoo to determine which modules need additional work.





[GLASSFISH-18501] EAR deployment fails when OSGi bundle is deployed Created: 13/Mar/12  Updated: 12/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: 3.1.2_b23, 3.1.2
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: jthoennes Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: cplaetzinger, jthoennes, Sanjeeb Sahoo and TangYong

 Description   

We have a JEE application packaged and deployed as EAR. Now we started to develop some OSGi EJB Application Bundles. Both will be deployed in the same Glassfish instance.

The OSGi EJB bundle includes some classes which are packaged in the EAR too. For example the package com.macd.foo is included in the bundle. The package com.macd.bar is not included in the bundle but added to the the Ignore-Package entry of bundles manifest.

Deploying the EAR fails saying that classes from com.macd.bar package could not be found. But the package com.macd.bar is packaged in the EAR file. If the OSGi bundle is removed deployment of EAR works.

So my questions are:

  • Why does the OSGi bundle affects deployment of EAR file?
  • How can I deploy OSGi bundles containing classes which are available in the EAR file too?


 Comments   
Comment by Sanjeeb Sahoo [ 13/Mar/12 12:25 PM ]

All packages exported by osgi bundles are visible to non-osgi javaee applications, so they can interfere.

Without knowing how the manifest of the bundle looks like and without knowing what the bundle actually contains, it is difficult to say what's going wrong. My guess is that the ear is trying to load some classes from the ejb bundle, but since the bundle is not getting resolved, it is failing.

Comment by cplaetzinger [ 13/Mar/12 12:50 PM ]

Thanks for first response, Sahoo. If I want to use a package within the EAR file and from other OSGi bundles it should be deployed as OSGi bundle?

E.g. package com.macd.foo is used by the EAR file and some other OSGi bundles. Thus package com.macd.foo has to be deployed as separate OSGi bundle to be available for the EAR and the other bundles. Is this assumption correct?

Comment by jthoennes [ 13/Mar/12 01:36 PM ]

Actually, the order of deployment matters:

  • If the EAR is deployed first, all is fine.
  • But if the OSGi bundle is deployed first deploying the EAR fails.

Sahoo, please could you suggest some tracing options besides class-loader tracing using -verbose:class?

Comment by Sanjeeb Sahoo [ 13/Mar/12 04:39 PM ]

jthonennes,

I hope you know how to connect to the osgi shell. Just in case, you don't know, please look at section #10.4.1 of [1]. You need to set glassfish.osgi.start.level.final=3 in osgi.properties file or domain.xml and then telnet localhost 6666. Check to make sure your osgi bundle is getting resolved. If you are finding it difficult to analyse, then attach the server.log. If you can attach the test applications, even better, but I will let you know if I need them or not only after looking at server.log. But, do mention the manifest.mf of the bundle and jar tf of the ear file contents.

cplaetzinger:
OSGi bundles are one level above in the classloader hierarchy, so if com.macd.foo is exported by a bundle then the ear file will always use the package from the bundle. If com.macd.foo is a private package of a bundle then the ear file will use its own version.

[1] http://glassfish.java.net/public/GF-OSGi-Features.pdf

Comment by jthoennes [ 13/Mar/12 04:48 PM ]

Hello Sahoo,

thanks for your answers. I will check my colleage tomorrow.

Cheers, Jörg

Comment by TangYong [ 12/Oct/12 01:56 PM ]

If having not test bundles(including Manifest.MF,etc), I think that the issue is not determined, and suggest that sahoo closed the issue as not reproduced. In addition, once jthoennes uploads more info and finds the issue can be reproduced, the issue will be reopened.





[GLASSFISH-19395] Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement Created: 30/Nov/12  Updated: 30/Apr/13

Status: In Progress
Project: glassfish
Component/s: OSGi
Affects Version/s: future release
Fix Version/s: None

Type: Task Priority: Critical
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
GLASSFISH-19397 using OBR to add mapped capability an... Sub-task Closed Sanjeeb Sahoo  
GLASSFISH-20486 missing a mapping scene where some cl... Sub-task Open TangYong  
GLASSFISH-20487 needing to consider constructor injec... Sub-task Open TangYong  
GLASSFISH-20488 needing to consider initializer metho... Sub-task Open TangYong  
GLASSFISH-20489 needing to consider IterableProvider ... Sub-task Open TangYong  
GLASSFISH-20490 needing to consider org.glassfish.hk2... Sub-task Open TangYong  
Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

While using on-demand provisioning of OSGi modules(glassfish.osgi.ondemand=true), we must discovery and install needed bundle and the bundle's dependencies rightly. In order to reach the goal, only using OBR to generate index file is not enough because HK2 world also defined some annotations which are used for service-level dependencies, called @Service and @Inject.

Because @Service and @Inject have an another very important task for implementing on-demand bundle's starting, for example, while deploying a WAB with CDI, WebContainer will be started and at the same time, because WebContainer has a @inject JCDIService, deploying phrase will also start Weld-Integration bundle in which a @Service which implements JCDIService will be registered into HK2 registry.

So, from the point to say, @Service and @Inject also correspond to OBR capability and requirement, if we can not map the annotations, while using OBR to provision, there is an possibility that we will miss some required bundles in felix cache and caused a failure of on-demand starting.



 Comments   
Comment by TangYong [ 04/Dec/12 03:41 AM ]

During several day's investigation, I have some results and solution as following:

Solution: using deprecated Import-Service and Export-Service [1][2]

Although Import-Service and Export-Service head have been deprecated, we
can still use the head to meet our demand because we can consider hk2 level's service dependency as some static service dependency.

I have confirmed that bnd or maven-bundle-plugin supports the two heads and felix obr aslo supports the two heads.

Then, we need to resolve a problem: how to generate Import-Service and Export-Service head?

Method1: manually adding Import-Service and Export-Service head into osgi.bundle file

[Analyse Advantage/Disadvantage]
Advantage: simple and fast
Disadvantage: needing to large scale edit osgi.bundle

Method2: extending some maven plugin(maybe hk2 maven plugin, maybe bnd...) to automaticlly scan bundle(@inject and @Service) and generate
the two heads

[Analyse Advantage/Disadvantage]
Advantage: not editing osgi.bundle manually
Disadvantage: a litter complex and needing to master maven or bnd, and also needing to invesigate how to extend

Method3: Not modifying current module's manifest.mf, after generating obr-modules.xml, adding Import-Service and Export-Service head into the repository file by scanning each bundle

[Analyse Advantage/Disadvantage]
Advantage: not editing osgi.bundle manually and not extending current build architecture
Disadvantage: (1) needing to how to add Import-Service and
Export-Service head into the repository file because felix obr Api has not published similar api. (Note: I have sent a email to felix to consult the thing)

(2) needing to how to scan (@inject and @Service) better and maybe needing to extend osgi-adapter module

As a demostrating, I have used Method1 to add the two heads for web-glue and weld-integration and currently, the two modules have not some direct
dependency(module layer dependency), however, web-glue has a hk2 service
dependency[3] on weld-integration. So, after I edited osgi.bundles of the two modules, obr-modules.xml has added the service related requirement/capability for the two modules.

<resource id='org.glassfish.main.web.glue/4.0.0.SNAPSHOT' symbolicname='org.glassfish.main.web.glue' ...'>
...
<require name='service' filter='(service=com.sun.enterprise.container.common.spi.JCDIService)' extend='false' multiple='true' optional='false'>Import Service com.sun.enterprise.container.common.spi.JCDIService</require>
...

<resource id='org.glassfish.main.web.weld-integration/4.0.0.SNAPSHOT' symbolicname='org.glassfish.main.web.weld-integration' ...>
...
<capability name='service'>
<p n='service' v='com.sun.enterprise.container.common.spi.JCDIService'/>
</capability>
<capability name='service'>
<p n='service' v='org.glassfish.api.naming.NamedNamingObjectProxy'/>
</capability>
<capability name='service'>
<p n='service' v='org.glassfish.weld.ResourceLoaderImpl'/>
</capability>
<capability name='service'>
<p n='service' v='com.sun.enterprise.web.WebComponentDecorator'/>
</capability>
<capability name='service'>
<p n='service' v='org.glassfish.api.container.Container'/>
</capability>
<capability name='service'>
<p n='service' v='org.glassfish.weld.WeldDeployer'/>

[1]: http://wiki.osgi.org/wiki/Import-Service
[2]: RFC-0112 Bundle Repository
[3]: in WebContainer.java, the following declares a service dependency
@Inject @Optional
private JCDIService jcdiService

Comment by TangYong [ 25/Jan/13 02:35 PM ]

Using [3]'s way to edit osgi.bundles , then generating an obr file.

Comment by Sanjeeb Sahoo [ 25/Jan/13 02:43 PM ]

Let's see if we can use method #3 to generate OBR capability/requirement metadata for HK2 service dependencies. I have checked in a framework for a standalone utility for generation of OBR metadata in [1]. Let's see if we can enhance it. Thanks.

[1] https://svn.java.net/svn/glassfish~svn/trunk/fighterfish/experimental/glassfish-obr-builder. Se

Comment by TangYong [ 26/Jan/13 01:30 PM ]

Hi Sahoo,

I have seen and ran glassfish-obr-builder and it is an interesting module, firstly , I want to make you confirm my understanding for the framework.

[My understanding]
1 glassfish-obr-builder's aim should be similar to felix obr to generate capability and requirement from bundle's Manifest.MF.

2 The framework should want to generate capability and requirement into a new obr xml file, although we can output repository info from a existed obr xml(for example, after setting glassfish.osgi.ondemand=true, however, because ondemand starting glassfish is still in incubated status, this should have no sense). But the logic of generating capability and requirement into a new obr xml file is not still finished.

Secondly, I have a question about the framework as following:

[Question about the framework]
Why we use felix obr to generate capability and requirement and instead, re-invent a wheel?
Whether because the framework's API is more easy and convenient than felix obr's API or not?

Thirdly, backing to GLASSFISH-19395, my thinking about whether can re-use the framework or not?

[My thinking]
Sure, no problem, can re-use the framework.And we only need to add the logic of generating capability and requirement from a directory containing OSGi bundles. A point to notice is that if using felix obr, we will directly use felix obr's api to finish such things.

Thanks.

Comment by Sanjeeb Sahoo [ 26/Jan/13 02:23 PM ]

It makes to reuse Felix OBR module instead of writing our own. I leave it to you to do whatever you find easier.

Thanks,
Sahoo

Comment by TangYong [ 28/Jan/13 05:44 AM ]

Hi sahoo,

I have finished the issue and put sources into the following url:

https://github.com/tangyong/glassfish-obr-builder

You can use and see the result according to https://github.com/tangyong/glassfish-obr-builder/blob/master/README.md .

I reused osgi-adapter's ObrHandler and packaged glassfish-obr-builder as an osgi bundle and put the bundle into autostart directory, once glassfish domain starting, glassfish-obr-builder will generate an obr-modules.xml in domains/domain1/osgi-cache/felix directory. This effect is very similar to set glassfish.osgi.ondemand=true. However,glassfish-obr-builder is more simple and can make us do more research on provisioning stories.

Thanks

Comment by TangYong [ 29/Jan/13 02:18 PM ]

Currently, the glassfish-obr-builder is being enhanced in the following fileds:

1 Provisioning Strategy
seeing: https://github.com/tangyong/glassfish-obr-builder/issues/11

2 Creating a client bundle to make an experiment to test 1 using glassfish-obr-builder
seeing: https://github.com/tangyong/glassfish-obr-builder/issues/13

3 Offering a way to populate obr resources from external maven repo
seeing: https://github.com/tangyong/glassfish-obr-builder/issues/8
However, 3's priority is low.

Comment by TangYong [ 29/Jan/13 02:59 PM ]

About the above 3, I have estimated Apache Karaf Cave, and it has such a capability to populate obr resources from an external maven repo and populate obr resources from an user local maven repo to enhance provisioning strategy.

In addition, about 1, once finishing it, I have an initial idea for making a gf kernel's evolution:

1 Defining a subsystems for glassfish according to the following rule
1)admin subsystem
The subsystem is defined by admin infra related bundles, and while starting glassfish domain, we must deploy the subsystem because it is a core bus of glassfish self.

2)javaee 7 spec related large subsystem
The large subsystem is constituted by many subsystems according to javaee 7 spec. For example, for EJB spec, we can define a ejb subsystem which is defined by ejb related bundles. Once we make such a partition, a user can deploy these subsystem in on-demand way according to his/her requirement.

3)osgi-javaee related subsystem
The subsystem is constituted by osgi-javaee related bundles which currently are put into autostart directory.

2 Generating System OBR using glassfish-obr-builder ahead of time
If having 1, while starting glassfish domain, we can firstly generate Glassfish System OBR using glassfish-obr-builder, and according to the Glassfish System OBR, we can deploy admin subsystem and lately also use the Glassfish System OBR to deploy other subsystems.

3 Integrating other the third part's frameworks
Integrating other the third part's frameworks can also use subsystem concept to do. We only need to offer a subsystem which is constituted by the third part's frameworks related bundles. In such a subsystem definition, an user can offer an user-defined obr repo url as provisioning repo. Then, while deploying such a subsystem, we firstly provision bundles from Glassfish System OBR because some bundles maybe have been offered by glassfish, if not finding proper resources, we will provision bundles from user-defined obr repo.

The above idea has the following advantages:
1) speeding up glassfish domain starting
2) saving more spaces rather than installing all bundles into felix cache.
3) making an user have more profiles, for example, if the user creates two domains, in domain1, he/she can deploy some javaee related bundles, in domain2, he/she can deploy some osgi-javaee related bundles.

Comment by TangYong [ 30/Jan/13 02:23 PM ]

>1 Provisioning Strategy
>seeing: https://github.com/tangyong/glassfish-obr-builder/issues/11

Done

>2 Creating a client bundle to make an experiment to test 1 using glassfish-obr-builder
>seeing: https://github.com/tangyong/glassfish-obr-builder/issues/13

Being enhancing...

Currently, a subsystem provioning sample can work normally.

>3 Offering a way to populate obr resources from external maven repo
>seeing: https://github.com/tangyong/glassfish-obr-builder/issues/8
>However, 3's priority is low.

Undo

4 start subsystem based on module start level defined in subsystem xml file
seeing https://github.com/tangyong/glassfish-obr-builder/issues/15

Basic done and a topic needs to be discussed with sahoo.

5 undeploying subsystem

Doing

Comment by Sanjeeb Sahoo [ 05/Feb/13 03:48 PM ]

Tang,

This is great progress. I have been able to build it and test as well. I think there is a slight misunderstanding about how I expected the processing to happen. I noticed you are expecting us to populate Export-Service and Import-Service metadata in osgi.bundle file. I thought approach #3 meant no changes to bundles. We would introspect bundles and generate Export-Service and Import-Service metadata from @Inject and @Service annotations.

Sahoo

Comment by TangYong [ 06/Feb/13 03:53 AM ]

>I thought approach #3 meant no changes to bundles. We would introspect bundles and generate Export-Service and >Import-Service metadata from @Inject and @Service annotations.

I see and I will consider it.

Thanks

Tang

Comment by Sanjeeb Sahoo [ 08/Feb/13 12:58 AM ]

Assigning to Tang

Comment by TangYong [ 29/Apr/13 04:47 AM ]

A new project source has sent into Sahoo and wait for his comment.

Comment by TangYong [ 30/Apr/13 08:41 AM ]

Have checked in sources.

revision: 61742

Comment by TangYong [ 30/Apr/13 12:46 PM ]

At revision: 61748(a litter issue's fix)





[GLASSFISH-19837] java.lang.IllegalStateException( at org.jvnet.hk2.internal.SystemDescriptor.checkState(SystemDescriptor.java:464)) alway happened while executing fighterfish it tests Created: 12/Mar/13  Updated: 23/Apr/13

Status: In Progress
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

While executing fighterfish it tests, the following exception always happened although not affecting test result.

java.lang.IllegalStateException
at org.jvnet.hk2.internal.SystemDescriptor.checkState(SystemDescriptor.java:464)
at org.jvnet.hk2.internal.SystemDescriptor.getScopeAnnotation(SystemDescriptor.java:351)
at org.jvnet.hk2.internal.ServiceHandleImpl.destroy(ServiceHandleImpl.java:144)
at com.sun.enterprise.server.logging.LogManagerService.preDestroy(LogManagerService.java:700)
at org.jvnet.hk2.internal.ClazzCreator.preDestroyMe(ClazzCreator.java:277)
at org.jvnet.hk2.internal.ClazzCreator.dispose(ClazzCreator.java:332)
at org.jvnet.hk2.internal.SystemDescriptor.dispose(SystemDescriptor.java:460)
at org.glassfish.hk2.runlevel.internal.RunLevelContext.deactivate(RunLevelContext.java:148)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$DefaultActivator.deactivate(RunLevelControllerImpl.java:365)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.deactivateRunLevel(RunLevelControllerImpl.java:812)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.downActiveRecorder(RunLevelControllerImpl.java:709)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.down(RunLevelControllerImpl.java:725)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.run(RunLevelControllerImpl.java:639)
Completed shutdown of GlassFish runtime
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$SyncProceedToWorker.proceedTo(RunLevelControllerImpl.java:896)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:559)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:339)
at com.sun.enterprise.v3.server.AppServerStartup.stop(AppServerStartup.java:347)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.stop(GlassFishImpl.java:88)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.dispose(GlassFishImpl.java:97)
at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.dispose(GlassFishDecorator.java:73)
at com.sun.enterprise.glassfish.bootstrap.osgi.GlassFishMainActivator.stop(GlassFishMainActivator.java:260)
at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:667)
at org.apache.felix.framework.Felix.stopBundle(Felix.java:2518)
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling SLF4J API support.
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Jakarta Commons Logging API support.
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Log4J API support.
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Avalon Logger API support.
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling JULI Logger API support.
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Thread.java:722)
[#|2013-03-12T20:01:40.781+0900|INFO|glassfish 4.0|javax.enterprise.system.core|_ThreadID=241;_ThreadName=FelixStartLevel;_TimeMillis=1363086100781;_LevelValue=800;_MessageID=NCLS-CORE-0013;ClassName=com.sun.enterprise.v3.server.AppServerStartup;MethodName=stop;|Shutdown procedure finished|#]



 Comments   
Comment by TangYong [ 13/Mar/13 02:07 PM ]

Using the newest gf trunk, the exception has a litter change as following:

java.lang.IllegalStateException
at org.jvnet.hk2.internal.SystemDescriptor.checkState(SystemDescriptor.java:464)
at org.jvnet.hk2.internal.SystemDescriptor.getScopeAnnotation(SystemDescriptor.java:351)
at org.jvnet.hk2.internal.ServiceHandleImpl.destroy(ServiceHandleImpl.java:144)
Completed shutdown of GlassFish runtime
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling SLF4J API support.
at com.sun.enterprise.server.logging.LogManagerService.preDestroy(LogManagerService.java:700)
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Jakarta Commons Logging API support.
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Log4J API support.
at org.jvnet.hk2.internal.ClazzCreator.preDestroyMe(ClazzCreator.java:295)
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Avalon Logger API support.
at org.jvnet.hk2.internal.ClazzCreator.dispose(ClazzCreator.java:350)
org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling JULI Logger API support.
at org.jvnet.hk2.internal.SystemDescriptor.dispose(SystemDescriptor.java:460)
at org.glassfish.hk2.runlevel.internal.RunLevelContext.deactivate(RunLevelContext.java:148)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$DefaultActivator.deactivate(RunLevelControllerImpl.java:365)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.deactivateRunLevel(RunLevelControllerImpl.java:812)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.downActiveRecorder(RunLevelControllerImpl.java:709)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.down(RunLevelControllerImpl.java:725)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$Worker.run(RunLevelControllerImpl.java:639)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl$SyncProceedToWorker.proceedTo(RunLevelControllerImpl.java:896)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:559)
at org.glassfish.hk2.runlevel.utilities.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:339)
at com.sun.enterprise.v3.server.AppServerStartup.stop(AppServerStartup.java:350)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.stop(GlassFishImpl.java:88)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.dispose(GlassFishImpl.java:97)
at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.dispose(GlassFishDecorator.java:73)
at com.sun.enterprise.glassfish.bootstrap.osgi.GlassFishMainActivator.stop(GlassFishMainActivator.java:257)
at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:667)
at org.apache.felix.framework.Felix.stopBundle(Felix.java:2518)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1297)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Thread.java:722)

Comment by TangYong [ 13/Mar/13 03:07 PM ]

By debugging, while disposing com.sun.enterprise.server.logging.LogManagerService, and running the following logic(locator.resolveContext(root.getScopeAnnotation())),

org.jvnet.hk2.internal.ServiceHandleImpl.java
@Override
    public boolean isActive() {
        // No lock needed, nothing changes state
        if (serviceDestroyed) return false;
        if (serviceSet) return true;
        
        try {
            Context<?> context = locator.resolveContext(root.getScopeAnnotation());
            return context.containsKey(root);
        }

I have found that root's status is as following:

SystemDescriptor(
implementation=com.sun.enterprise.server.logging.SyslogHandler
contracts={com.sun.enterprise.server.logging.SyslogHandler,java.util.logging.Handler}
scope=javax.inject.Singleton
qualifiers={}
descriptorType=CLASS
descriptorVisibility=NORMAL
metadata=Bundle-SymbolicName={org.glassfish.main.core.logging},Bundle-Version={4.0.0.SNAPSHOT}
rank=0
loader=OsgiPopulatorPostProcessor.HK2Loader(OSGiModuleImpl:: Bundle = [org.glassfish.main.core.logging [201]], State = [READY],32729594)
proxiable=null
analysisName=null
id=1135
locatorId=0
identityHashCode=1681041
reified=false)

Among them, reified is false, then, org.jvnet.hk2.internal.SystemDescriptor.checkState will throw IllegalStateException.

So, I doubted whether log configuration is not set rightly in pax exam?

Needing to confirm in depth.

Comment by Sanjeeb Sahoo [ 23/Apr/13 04:16 AM ]

Tang,

I don't recollect seeing this particular exception although I have seen some exception while server shuts down during fighterfish test execution. So, I would like to know if this is a new exception. If so, I would classify this as a regression and assign it to someone like John Wells to look into it instead of you investigating it. Clearly we have not changes anything in fighterfish for this exception to occur.

Thanks,
Sahoo

Comment by TangYong [ 23/Apr/13 05:08 AM ]

Sahoo

This is not a new exception and on my env, each time while server shuts down during fighterfish test execution's end,
I can always see the exception. In addition, while switching into httpclient lib, the exception is still there. However, the exception info has a litter different from the issue

java.lang.IllegalStateException
at org.jvnet.hk2.internal.SystemDescriptor.checkState(SystemDescriptor.java:480)
at org.jvnet.hk2.internal.SystemDescriptor.getScopeAnnotation(SystemDescriptor.java:361)
at org.jvnet.hk2.internal.ServiceHandleImpl.destroy(ServiceHandleImpl.java:144)
at com.sun.enterprise.server.logging.LogManagerService.preDestroy(LogManagerService.java:700)
at org.jvnet.hk2.internal.ClazzCreator.preDestroyMe(ClazzCreator.java:294)
at org.jvnet.hk2.internal.ClazzCreator.dispose(ClazzCreator.java:358)
at org.jvnet.hk2.internal.SystemDescriptor.dispose(SystemDescriptor.java:473)
at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.destroyOne(AsyncRunLevelContext.java:191)
at org.jvnet.hk2.internal.ServiceHandleImpl.destroy(ServiceHandleImpl.java:159)
at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$DownAllTheWay.run(CurrentTaskFuture.java:583)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
[#|2013-04-22T23:01:12.893+0900|INFO|glassfish 4.0|javax.enterprise.system.core|_ThreadID=287;_ThreadName=FelixStartLevel;_TimeMillis=1366639272893;_LevelValue=800;_MessageID=NCLS-CORE-00013;ClassName=com.sun.enterprise.v3.server.AppServerStartup;MethodName=stop;|
Shutdown procedure finished|#]

So, I also think that I am not a right person to investigate the exception. Please assign to jwells to investigate it.

Thanks
Tang





[GLASSFISH-20782] [Fighterfish Test]test_GLASSFISH_12975() has some regression Created: 27/Aug/13  Updated: 30/Aug/13

Status: Open
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: None
Fix Version/s: 4.0.1

Type: Bug Priority: Critical
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows
4.0.1/nightly/ 26-Aug-2013 07:25


Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

test_GLASSFISH_12975() causes Fighterfish Test failed as following,

[#|2013-08-27T15:16:29.922+0900|SEVERE|glassfish 4.0|org.ops4j.pax.exam.junit.JUnit4TestRunner|_ThreadID=1;_ThreadName=main;_TimeMillis=1377584189922;_LevelValue=1000;ClassName=org.ops4j.pax.exam.junit.JUnit4TestRunner$3;MethodName=evaluate;|
Exception
org.ops4j.pax.exam.TestContainerException: [test_GLASSFISH_12975(org.glassfish.fighterfish.test.it.T2_Test): Aether Error.]
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:112)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:89)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:72)
at org.ops4j.pax.exam.nat.internal.NativeTestContainer.call(NativeTestContainer.java:86)
at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.invoke(EagerSingleStagedReactor.java:85)
at org.ops4j.pax.exam.junit.JUnit4TestRunner$3.evaluate(JUnit4TestRunner.java:289)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:87)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at $Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
Caused by: java.io.IOException: Aether Error.
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:234)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:221)
at org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:120)
at java.net.URL.openStream(URL.java:1037)
at org.glassfish.fighterfish.test.it.T2_Test.test_GLASSFISH_12975(T2_Test.java:742)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:58)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:32)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:108)
... 26 more
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.glassfish.main.osgi-platforms:felix-webconsole-extension:jar:4.0.1-SNAPSHOT from/to maven-central (http://repo1.maven.org/maven2/): Error transferring file: repo1.maven.org
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:541)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:220)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:197)
at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:323)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:232)
... 51 more
Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact org.glassfish.main.osgi-platforms:felix-webconsole-extension:jar:4.0.1-SNAPSHOT from/to maven-central (http://repo1.maven.org/maven2/): Error transferring file: repo1.maven.org
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:949)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:695)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:689)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.get(WagonRepositoryConnector.java:445)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:460)
... 55 more
Caused by: org.apache.maven.wagon.TransferFailedException: Error transferring file: repo1.maven.org
at org.apache.maven.wagon.providers.http.LightweightHttpWagon.fillInputData(LightweightHttpWagon.java:143)
at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:608)
at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.UnknownHostException: repo1.maven.org
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:378)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:473)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:203)
at sun.net.www.http.HttpClient.New(HttpClient.java:290)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:995)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:931)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at org.apache.maven.wagon.providers.http.LightweightHttpWagon.fillInputData(LightweightHttpWagon.java:115)
... 8 more

#]


 Comments   
Comment by TangYong [ 27/Aug/13 06:34 AM ]

Noting that in test_GLASSFISH_12975() , the following,

String location2 = "mvn:org.glassfish.main.osgi-platforms/felix-webconsole-extension/4.0.1-SNAPSHOT/jar";

I used 4.0.1/nightly/ 26-Aug-2013 07:25 rather than SNAPSHOT from trunk, and, my local maven repo can not have such bundle, and repo1 or other maven repos have not such bundle too. So, pl. Sahoo explains the reason using 4.0.1-SNAPSHOT here. I think that the test failure is caused by the issue.

Thanks
Tang

Comment by Sanjeeb Sahoo [ 27/Aug/13 06:34 AM ]

We should change the URL in test to use 4.0.1-b01 which is available in maven central.

Comment by TangYong [ 27/Aug/13 06:43 AM ]

Will change it and also noticing that 4.0.1-b01 is in https://maven.java.net/content/groups/promoted rather than other repos including repo1, so, whether glassfish osgi fighterfish wiki will be updated to add a description?

Comment by Sanjeeb Sahoo [ 27/Aug/13 06:51 AM ]

See if we can use 4.0 instead of 4.0.1?

Comment by TangYong [ 27/Aug/13 07:02 AM ]

Let us to see the result of using 4.0.1-b01,

[#|2013-08-27T15:55:13.871+0900|SEVERE|glassfish 4.0|org.ops4j.pax.exam.junit.JUnit4TestRunner|_ThreadID=1;_ThreadName=main;_TimeMillis=1377586513871;_LevelValue=1000;ClassName=org.ops4j.pax.exam.junit.JUnit4TestRunner$3;MethodName=evaluate;|
Exception
org.ops4j.pax.exam.TestContainerException: [test_GLASSFISH_12975(org.glassfish.fighterfish.test.it.T2_Test): Admin Console Not Available expected:<200> but was:<401>]
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:112)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:89)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:72)
at org.ops4j.pax.exam.nat.internal.NativeTestContainer.call(NativeTestContainer.java:86)
at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.invoke(EagerSingleStagedReactor.java:85)
at org.ops4j.pax.exam.junit.JUnit4TestRunner$3.evaluate(JUnit4TestRunner.java:289)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:87)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at $Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
Caused by: java.lang.AssertionError: Admin Console Not Available expected:<200> but was:<401>
at org.junit.Assert.fail(Assert.java:93)
at org.junit.Assert.failNotEquals(Assert.java:647)
at org.junit.Assert.assertEquals(Assert.java:128)
at org.junit.Assert.assertEquals(Assert.java:472)
at org.glassfish.fighterfish.test.it.T2_Test.test_GLASSFISH_12975(T2_Test.java:780)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:58)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:32)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:108)
... 26 more

#]

The above means that accessing "http://localhost:8080/osgi/system/console/bundles" failed.

Comment by TangYong [ 27/Aug/13 07:08 AM ]

4.0 is the same as 4.0.1, and noticing that in console, the following,

[#|2013-08-27T16:06:31.647+0900|WARNING|glassfish 4.0|org.glassfish.security.services|_ThreadID=301;_ThreadName=http-listener-1(2);_TimeMillis=1377587191647;_LevelValue=900;ClassName=org.glassfish.security.services.common.SecurityAccessValidator;MethodName=checkPerm;|
Check Permission failed in lookup for permission = ("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication")|#]

[#|2013-08-27T16:06:31.662+0900|INFO|glassfish 4.0|javax.enterprise.system.core.security|_ThreadID=300;_ThreadName=http-listener-1(1);_TimeMillis=1377587191662;_LevelValue=800;ClassName=com.sun.enterprise.security.provider.BasePolicyWrapper$2;MethodName=run;|
JACC Policy Provider: Failed Permission Check, context(null)- permission(("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication"))|#]

[#|2013-08-27T16:06:31.662+0900|WARNING|glassfish 4.0|org.glassfish.security.services|_ThreadID=300;_ThreadName=http-listener-1(1);_TimeMillis=1377587191662;_LevelValue=900;ClassName=org.glassfish.security.services.common.SecurityAccessValidator;MethodName=checkPerm;|
Check Permission failed in lookup for permission = ("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication")|#]

[#|2013-08-27T16:06:31.662+0900|INFO|glassfish 4.0|javax.enterprise.system.core.security|_ThreadID=302;_ThreadName=http-listener-1(3);_TimeMillis=1377587191662;_LevelValue=800;ClassName=com.sun.enterprise.security.provider.BasePolicyWrapper$2;MethodName=run;|
JACC Policy Provider: Failed Permission Check, context(null)- permission(("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication"))|#]

[#|2013-08-27T16:06:31.662+0900|WARNING|glassfish 4.0|org.glassfish.security.services|_ThreadID=302;_ThreadName=http-listener-1(3);_TimeMillis=1377587191662;_LevelValue=900;ClassName=org.glassfish.security.services.common.SecurityAccessValidator;MethodName=checkPerm;|
Check Permission failed in lookup for permission = ("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication")|#]

[#|2013-08-27T16:06:31.662+0900|INFO|glassfish 4.0|javax.enterprise.system.core.security|_ThreadID=304;_ThreadName=http-listener-1(5);_TimeMillis=1377587191662;_LevelValue=800;ClassName=com.sun.enterprise.security.provider.BasePolicyWrapper$2;MethodName=run;|
JACC Policy Provider: Failed Permission Check, context(null)- permission(("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication"))|#]

[#|2013-08-27T16:06:31.662+0900|WARNING|glassfish 4.0|org.glassfish.security.services|_ThreadID=304;_ThreadName=http-listener-1(5);_TimeMillis=1377587191662;_LevelValue=900;ClassName=org.glassfish.security.services.common.SecurityAccessValidator;MethodName=checkPerm;|
Check Permission failed in lookup for permission = ("org.glassfish.security.services.common.SecureServiceAccessPermission" "security/service/authentication")|#]

[#|2013-08-27T16:06:31.662+0900|INFO|glassfish 4.0|org.glassfish.fighterfish.test.it|_ThreadID=1;_ThreadName=main;_TimeMillis=1377587191662;_LevelValue=800;ClassName=T2_Test;MethodName=test_GLASSFISH_12975;|
Sleeping for 5 Seconds on testurl = http://localhost:8080/osgi/system/console/bundles|#]

...

Comment by Sanjeeb Sahoo [ 27/Aug/13 07:36 AM ]

I know why you see that error. It's explained in GLASSFISH-20646. So, we can't use version 4.0. We need a build of webconsole which is later than svn #svn #62246. 4.0.1-b01 won't help as far as I see.

Comment by Sanjeeb Sahoo [ 27/Aug/13 07:43 AM ]

The problem is like this:

FighterFish test suite includes a test for felix-webconsole-extension which is built as part of glassfish, but not installed by default. So, the test is relying on 4.0.1-SNAPSHOT. If we move all our OSGi modules to fighterfish project, we can easily solve this issue via binary integration. Could you own the migration of such modules from glassfish to fighterfish?

Thanks,
Sahoo

Comment by TangYong [ 27/Aug/13 07:52 AM ]

>Could you own the migration of such modules from glassfish to fighterfish?

Apart from felix-webconsole-extension, pl. exactly telling me other modules belonging to us.

About here's "migration", could you please tell me how do you operate, then, I will confirm whether I have the same operation permission。

Thanks
Tang

Comment by TangYong [ 27/Aug/13 08:11 AM ]

Having another temp way:

Making the test case is @Ignore, and letting the jira open, then, once releasing a version later than #svn #62246, I will re-confirm the jira and remove @Ignore.

Agree with me?

Comment by TangYong [ 28/Aug/13 01:28 PM ]

fixing has been checked in.

Revisions:
----------
62668

Comment by Sanjeeb Sahoo [ 29/Aug/13 10:38 AM ]

After this checkin, I noticed a failure while running tests in an environment with clean local maven repository:

[#|2013-08-28T12:44:21.385-0700|SEVERE|glassfish 4.0|org.ops4j.pax.exam.junit.JUnit4TestRunner|_ThreadID=1;_ThreadName=main;_TimeMillis=1377719061385;_LevelValue=1000;ClassName=org.ops4j.pax.exam.junit.JUnit4TestRunner$3;MethodName=evaluate;|
Exception
org.ops4j.pax.exam.TestContainerException: [test_GLASSFISH_12975(org.glassfish.fighterfish.test.it.T2_Test): Aether Error.]
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:112)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:89)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:72)
at org.ops4j.pax.exam.nat.internal.NativeTestContainer.call(NativeTestContainer.java:86)
at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.invoke(EagerSingleStagedReactor.java:85)
at org.ops4j.pax.exam.junit.JUnit4TestRunner$3.evaluate(JUnit4TestRunner.java:289)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:87)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at $Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
Caused by: java.io.IOException: Aether Error.
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:234)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:221)
at org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:120)
at java.net.URL.openStream(URL.java:1037)
at org.glassfish.fighterfish.test.it.T2_Test.test_GLASSFISH_12975(T2_Test.java:742)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:58)
at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:32)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:108)
... 26 more
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not find artifact org.glassfish.main.osgi-platforms:felix-webconsole-extension:jar:4.0.1-b02 in local (file:/scratch/java_re/BUILD_AREA/workspace/gf-trunk-fighterfish-it/.m2/repository/)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:541)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:220)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:197)
at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:323)
at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:232)
... 51 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact org.glassfish.main.osgi-platforms:felix-webconsole-extension:jar:4.0.1-b02 in local (file:/scratch/java_re/BUILD_AREA/workspace/gf-trunk-fighterfish-it/.m2/repository/)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:945)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:695)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:689)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.get(WagonRepositoryConnector.java:445)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:460)
... 55 more

This is a known issue in the version of pax-url used by our tests. pax-url only searches in default maven repository (ie central repo), but this artifact is available in promoted jvnet repo, hence it is unable to find.

I made the following checkin to fix the issue:

Log Message:
------------
Clean up test classpath. Add felix-webconsole-extension
as a dependency so that test can provision it. Currently test is not able to download it from
remote repo because pax-url only searches in central repo and it's not available there.

Revisions:
----------
62676

After this checkin, our hudson job has run fine.

Comment by TangYong [ 30/Aug/13 02:03 AM ]

I think that while I was checking in previous patch, I made a mistake that I have not cleaned my local repo which still contained 4.0.1-b02 ever being downloaded in some way, after I looked at the new checking in, I see.

Thanks Sahoo's deep confirmation!





[GLASSFISH-18928] Move osgi-adapter out of hk2 Created: 23/Jul/12  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b45
Fix Version/s: 4.0.1

Type: Task Priority: Critical
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Comments   
Comment by Sanjeeb Sahoo [ 26/Jul/12 12:53 AM ]

We should also consider separating the module system layer from service layer.

Comment by TangYong [ 08/Oct/12 05:34 AM ]

Sahoo, I also think that osgi-adapter should be moved out of HK2 layer,after all, HK2 is mainly a implementation of JSR-330 standard. The responsibilities of HK2 and osgi-adapter are not same.

Whether the moving working has started or not? If not, I want to start to investigate it.

Comment by Sanjeeb Sahoo [ 09/Oct/12 09:28 AM ]

Although I agree with you, this is not a very high priority issue for us now. Ideally we should separate module layer from service layer in HK2 and keep only the service layer in HK2 project. Then, we can move module layer and the module layer adapters out to some other home. That's a big change with not much return at this point for me. So, I recommend deferring this for now.





[GLASSFISH-20382] Needing to update Felix.system.packages in osgi.properties while integrating aries subsystem which importing org.osgi.framework;version="1.7" Created: 23/Apr/13  Updated: 26/Apr/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b85
Fix Version/s: 4.0.1

Type: Bug Priority: Critical
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

While integrating aries subsystem 1.0.0 which importing org.osgi.framework;version="1.7", once starting glassfish domain,
the following exception will happen in the server.log

...
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.apache.felix.resolver [296]: Unable to resolve 296.0: missing
requirement [296.0] osgi.wiring.package;
(&(osgi.wiring.package=org.osgi.framework)(version>=1.7.0)(!(version>=2.0.0)))
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2037)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Thread.java:722)]]
...



 Comments   
Comment by TangYong [ 23/Apr/13 01:49 PM ]

[Analyze]

Glassfish v4 uses felix 4.2.1 which has exporting Core R5 API in its default.properties,

org.osgi.framework.system.packages=org.osgi.framework; version=1.7.0, \
org.osgi.framework.hooks.bundle; version=1.1.0, \
org.osgi.framework.hooks.resolver; version=1.0.0, \
org.osgi.framework.hooks.service; version=1.1.0, \
org.osgi.framework.hooks.weaving; version=1.0.0, \
org.osgi.framework.launch; version=1.1.0, \
org.osgi.framework.namespace; version=1.0.0, \
org.osgi.framework.startlevel; version=1.0.0, \
org.osgi.framework.wiring; version=1.1.0, \
org.osgi.resource; version=1.0.0, \
org.osgi.service.packageadmin; version=1.2.0, \
org.osgi.service.startlevel; version=1.1.0, \
org.osgi.service.url; version=1.0.0, \
org.osgi.util.tracker; version=1.5.1 \
${jre-${java.specification.version}}

However, in osgi.properties, we have a Felix.system.packages definition,

Felix.system.packages=\
org.osgi.framework; version=1.6.0, \
org.osgi.framework.launch; version=1.0.0, \
org.osgi.framework.wiring; version=1.0.0, \
org.osgi.framework.startlevel; version=1.0.0, \
org.osgi.framework.hooks.bundle; version=1.0.0, \
org.osgi.framework.hooks.resolver; version=1.0.0, \
org.osgi.framework.hooks.service; version=1.1.0, \
org.osgi.framework.hooks.weaving; version=1.0.0, \
org.osgi.service.packageadmin; version=1.2.0, \
org.osgi.service.startlevel; version=1.1.0, \
org.osgi.service.url; version=1.0.0, \
org.osgi.util.tracker; version=1.5.0, \
${extra-system-packages}

Compared with felix 4.2.1 default.properties, we can find that our Felix.system.packages has been outdated, maybe you can ask whether glassfish needs to maintain system packages from felix?

Not simply saying "no", because we have some additional packages which are not defined in felix default.properties.

Please Sahoo comments the issue. My suggestion is to update our Felix.system.packages and keep it here.

Thanks
--Tang

Comment by TangYong [ 23/Apr/13 04:06 PM ]

This issue can be reproduced by deploying org.apache.felix.resolver_1.0.0.

Comment by Sanjeeb Sahoo [ 26/Apr/13 05:54 PM ]

Current Felix version does not provide 1.7 APIs, so we don't export them.





[GLASSFISH-20934]  "org.osgi.framework.BundleException: Unable to acquire global lock for resolve" happened while executing "asadmin start-cluster" Created: 18/Dec/13  Updated: 18/Dec/13

Status: Open
Project: glassfish
Component/s: hk2, jms, jts, OSGi
Affects Version/s: 3.1.2, 3.1.2.2, 4.0
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: TangYong Assignee: paul_parkinson
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File GLASSFISH-20934.patch    
Tags:
Participants: paul_parkinson and TangYong

 Description   

While executing "asadmin start-cluster" in an environment with heavy-load, sometimes, the following exception happened in server.log

...
[#|2013-12-04T16:46:56.553+0900|SEVERE|||_ThreadID=68;_ThreadName=Recovery Helper Thread;|Exception in thread "Recovery Helper Thread" |#]

[#|2013-12-04T16:46:56.558+0900|SEVERE|||_ThreadID=68;_ThreadName=Recovery Helper Thread;|com.sun.enterprise.module.ResolveError: Failed to start Bundle Id [40] State [INSTALLED] [org.glassfish.main.connectors.inbound-runtime(Connectors Inbound Support):3.1.2.2-XXX-SNAPSHOT]
at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:177)
at org.jvnet.hk2.osgiadapter.OSGiModuleImpl$2$1$1.loadClass(OSGiModuleImpl.java:344)
at com.sun.hk2.component.LazyInhabitant.loadClass(LazyInhabitant.java:124)
at com.sun.hk2.component.LazyInhabitant.fetch(LazyInhabitant.java:111)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:135)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78)
at org.jvnet.hk2.component.Habitat$5.get(Habitat.java:703)
at java.util.AbstractList$Itr.next(AbstractList.java:358)
at java.util.AbstractCollection.toArray(AbstractCollection.java:141)
at java.util.ArrayList.<init>(ArrayList.java:164)
at com.sun.enterprise.transaction.jts.ResourceRecoveryManagerImpl.configure(ResourceRecoveryManagerImpl.java:339)
at com.sun.enterprise.transaction.jts.ResourceRecoveryManagerImpl.recoverXAResources(ResourceRecoveryManagerImpl.java:231)
at com.sun.enterprise.transaction.jts.ResourceRecoveryManagerImpl.recoverXAResources(ResourceRecoveryManagerImpl.java:331)
at com.sun.enterprise.transaction.jts.ResourceRecoveryManagerImpl.postConstruct(ResourceRecoveryManagerImpl.java:106)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:78)
at org.jvnet.hk2.component.Habitat.getByContract(Habitat.java:1050)
at com.sun.jts.jta.TransactionServiceProperties$RecoveryHelperThread.run(TransactionServiceProperties.java:358)
Caused by: org.osgi.framework.BundleException: Unable to acquire global lock for resolve.
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3832)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)
at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:169)
... 21 more

#]
...

Among the above, [40] is org.glassfish.main.connectors.inbound-runtime bundle.

This issue maybe also happened on 4.0 based on my source analyze.

About "Component/s", firstly, I selected HK2, OSGi and JMS. About why selecting JMS, I will say the reason in the following comment. secondly, I firstly assign to Sahoo to evaluate.



 Comments   
Comment by TangYong [ 18/Dec/13 04:03 AM ]

[My investigation]

In starting cluster process, there are two threads which all influence org.glassfish.main.connectors.inbound-runtime module's state. The two threads are:

1) Recovery Helper Thread
The thread will auto-start org.glassfish.main.connectors.inbound-runtime module while the following from org.glassfish.main.transaction.jts module is executed:

ResourceRecoveryManager recoveryManager = serviceLocator.getService(ResourceRecoveryManager.class)

By a series of calling, finally, executing logic will search the implementation or service of com.sun.enterprise.transaction.spi.RecoveryResourceHandler interface. And InboundRecoveryHandler class from org.glassfish.main.connectors.inbound-runtime module will be a candidate.

2) RunLevelController Thread
The thread comes from HK2. And the thread is produced because while gf kernel is starting, the following from com.sun.enterprise.v3.server.AppServerStartup will make effect,

if (!proceedTo(PostStartupRunLevel.VAL)) { … }

Well, hk2 will filter all descriptors meeting run level equaling with PostStartupRunLevel.VAL(20) and then starting these modules. Because JmsProviderLifecycle class from org.glassfish.main.jms.core defines @RunLevel(value=PostStartupRunLevel.VAL, mode=RunLevel.RUNLEVEL_MODE_NON_VALIDATING), so it is a candidate. Deeply, while starting org.glassfish.main.jms.core, because org.glassfish.main.jms.core depends on org.glassfish.main.connectors.inbound-runtime module[1], firstly, OSGi runtime will resolve org.glassfish.main.connectors.inbound-runtime module.

[1]: only ActiveJmsResourceAdapter class depends on org.glassfish.main.connectors.inbound-runtime.

Based on the above analyze, if the two threads are in cross running, Recovery Helper Thread will be interrupted by felix because it can not obtain global lock, about the issue, pl. seeing [2].

Richard says:
"This is not necessarily a bug. That can happen if your bundle is holding a bundle lock and you try to acquire the global lock, which in this case the thread holds the bundle lock for the bundle it is trying to start and it needs the global lock to resolve it. If someone else already has the global lock and needs a bundle lock, then it will interrupt the other thread only holding the bundle lock. This avoids deadlocks."

[2]:http://mail-archives.apache.org/mod_mbox/felix-users/201102.mbox/%3C4D498058.7080104@ungoverned.org%3E

So, this is why I selected HK2, OSGi and JMS.

Comment by TangYong [ 18/Dec/13 09:08 AM ]

Deeply, I have some new finding as following:

Recovery Helper Thread is triggered by the following from com.sun.enterprise.v3.server.AppServerStartup,

if (!postStartupJob()) { ... }

And RunLevelControllerThread running PostStartupRunLevel.VAL(20) is triggered by the following:

if (!proceedTo(PostStartupRunLevel.VAL))

{ ... }

Apparently, if postStartupJob has not truly been finished and RunLevelControllerThread running PostStartupRunLevel.VAL(20) starts to run, then, the issue or similar issues(module state changing) can happen.

Tang

Comment by TangYong [ 18/Dec/13 02:29 PM ]

A fixing way is delaying Recovery Helper Thread's running and after PostStartupRunLevel has been finished, by sending event, running Recovery Helper Thread.

about detailed fixing way, pl. seeing and confirming the patch.

Thanks
Tang

Comment by TangYong [ 18/Dec/13 02:31 PM ]

Adding JTS component and request JTS leader to confirm the patch and evaluate the issue.





[GLASSFISH-20937] loadClass from org.jvnet.hk2.osgiadapter.OsgiPopulatorPostProcessor needs to be improved Created: 19/Dec/13  Updated: 19/Dec/13

Status: Open
Project: glassfish
Component/s: hk2, OSGi
Affects Version/s: 3.1.2, 3.1.2.2, 4.0
Fix Version/s: None

Type: Improvement Priority: Critical
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

Currently, loading class way from org.jvnet.hk2.osgiadapter.OsgiPopulatorPostProcessor is directly starting OSGi bundle, then loading class.

OsgiPopulatorPostProcessor(OSGiModuleImpl paramOsgiModule) {
this.osgiModule = paramOsgiModule;

loader = new HK2Loader() {

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Class<?> loadClass(final String className)
throws MultiException {
osgiModule.start();
return (Class<?>) AccessController.doPrivileged(new PrivilegedAction() {
public java.lang.Object run() {
try { return osgiModule.getBundle().loadClass(className); } catch (Throwable e) {
...

A question is as following,

Why not directly calling Bundle.loadClass?

According to API Doc,

If this bundle's state is INSTALLED, this method must attempt to resolve this bundle before attempting to load the class.

So, we only wish the bundle state is changed into Resolved rather than Active, right?



 Comments   
Comment by TangYong [ 19/Dec/13 07:37 AM ]

The same improvement also happened in the following method,

[Class] org.jvnet.hk2.osgiadapter.OSGiModuleImpl

public synchronized void resolve() throws ResolveError { // Since OSGi bundle does not have a separate resolve method, // we use the same implementation as start(); start(); }

Comment by TangYong [ 19/Dec/13 07:54 AM ]

I am sorry that things is not really simple,

I have known why you firstly start the bundle. For some cases, eg. While kernel is starting, it will proceed to some higher hk2 start level, and attempt to start these bundles, if removing osgiModule.start(), these bundles will stay in Resolved state rather than active state.

However, for general case(using @Service or getService), this will be Brute Force because we only want to load classes rather than starting the bundle.

Right?





[GLASSFISH-18975] Regression: GlassFish broken on Equinox, CNF occurs for javax.transaction classes Created: 05/Aug/12  Updated: 19/Dec/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b45
Fix Version/s: 4.0.1

Type: Bug Priority: Critical
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File cnf.txt    
Tags:
Participants: Jakub Podlesak, Lukas Jungmann, Pavel Bucek, Sanjeeb Sahoo, TangYong and tuomas_kiviaho

 Description   

QuickLook tests have started to fail on Equinox platform starting with svn rev # 55306 where Jersey 2.0-m05-2 was integrated. See the following job for details:
http://gf-hudson.us.oracle.com/hudson/job/gf-trunk-continuous-ql-equinox/4449/
This job was triggered by http://gf-hudson.us.oracle.com/hudson/job/gf-trunk-build-continuous/11710/ and as per this triggering job, only jersey component was upgraded.

To run QuickLook on Equinox, the steps are:
mkdir glassfish3/glassfish/osgi/equinox/
download equinox jar,
copy the downloaded jar to above equinox dir.
Set an environment variable GlassFish_Platform=Equinox
Run QuickLook.



 Comments   
Comment by Pavel Bucek [ 07/Aug/12 09:29 AM ]

mentioned job is not failing.

I've tried to run quicklook tests on my machine, but glassfish (trunk) did not even start.

My steps:

  • checkout fresh GF sources
  • build
  • unzip appserver/distributions/glassfish/glassfish.jar
  • mkdir -p glassfish3/glassfish/osgi/equinox/
  • cp org.eclipse.osgi_3.8.0.v20120529-1548.jar glassfish3/glassfish/osgi/equinox/
  • export GlassFish_Platform=Equinox
  • cd tests/quicklook; mvn -Dglassfish.home=/.../target/glassfish3/glassfish/ test | tee run.log

console output:

...
start-derby-unix:

start-derby-windows:

setOSConditions:

start-server-felix:
     [echo] +-----------------------------+
     [echo] |                             |
     [echo] | S T A R T I N G   GLASSFISH |
     [echo] |       in Felix mode         |
     [echo] |                             |
     [echo] +-----------------------------+

start-server-felix-unix:

execution get stuck after last line. And it still says that I'm using felix, not equinox.

Can you please provide more details about how to reproduce reported issue?

thanks,
Pavel

(I'm running Mac OS X - 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64 and Java "1.6.0_33")

Comment by Lukas Jungmann [ 07/Aug/12 09:45 AM ]

Pavle, try to update, the failure you're seeing could be related to GLASSFISH-18976 which I fixed yesterday. Thanks.

Comment by Sanjeeb Sahoo [ 07/Aug/12 11:14 AM ]

Pavel,

I now see why you say that job is not failing. I had mentioned the continuous build job URL that triggered the failing job. Now I have updated the description with correct job URL. Sorry for the confusion. The job has been UNSTABLE since last jersey integration. See it's status is yellow and the last line in console output is UNSTABLE. The job runs QL against full and web profile. If you see the entire log, you shall see full profile QL failing the same way it failed for you. Basically, server does not start on Equinox and our pathetic QuickLook test framework continues to run tests instead of aborting early.

That report saying "starting Felix mode" should be changed to "OSGi mode."

You have already reproduced the issue. You don't have to run QL. Just start server and you shall see it failing to start. The behavior has not changed even after Lukas fixed the JAXB issue as part of his bug fix.

Thanks,
Sahoo

Comment by Pavel Bucek [ 14/Aug/12 08:18 AM ]

Sahoo,

thanks for input and direction (you've mentioned that problem might be in jersey-media-json-jettison module. Unfortunately I wasn't able to figure out the cause of this :/ Jakub is on vacation and he should be back next week and he should be able to handle this.

Or if you have some spare cycles and want to investigate further.. I should be able at least test proposed solution (I have my workspace ready for that, I've tested lots of Import/Export manifest headers combinations lately). Sorry for inconvenience :-/

Pavel

Comment by Sanjeeb Sahoo [ 14/Aug/12 09:53 AM ]

Thanks Pavel for the update. I don't have any cycles to work on this. I have already spent much time debugging this. Can we revert the integration until we have fixed it?

Comment by Pavel Bucek [ 15/Aug/12 08:55 AM ]

well, that is not for me to decide :-/ that commit fixes several other issues; mainly introduces Jersey EJB integration, which is required by other teams.

Personally - I would wait till start of next week (when Martin and Jakub will be back from vacation) with final decision.

Comment by Sanjeeb Sahoo [ 15/Aug/12 08:59 AM ]

Since we have waited so long, I think it makes sense to wait for them to come back and have a look.

Comment by Jakub Podlesak [ 23/Aug/12 01:17 AM ]

To me, this seems to remind an issue discussed some time ago here: http://www.eclipse.org/forums/index.php/m/901649/
Concrete fragment not being properly resolved in this case is javax.transaction.jar. This bundle exports packages,
which are already included in the osgi.properties:extra-system-packages. Felix console shows this conflict e.g. here (running in Felix):

g! inspect package requirement 244
org.glassfish.main.transaction.internal-api [244] imports packages:
-------------------------------------------------------------------
...
javax.transaction; version=0.0.0 -> org.apache.felix.framework [0]
javax.transaction.xa; version=0.0.0 -> org.apache.felix.framework [0]
javax.transaction; version=1.1.0 -> org.apache.felix.framework [0]
javax.transaction.xa; version=1.1.0 -> org.apache.felix.framework [0]
...

looking from the other end does not help neither:

g! inspect package capability 0 
org.apache.felix.framework [0] exports packages:
------------------------------------------------
javax.transaction; version=0.0.0 imported by:
   org.jboss.weld.osgi-bundle [263]
   org.glassfish.corba.glassfish-corba-orb [99]
   org.glassfish.main.connectors.runtime [40]
   org.glassfish.main.connectors.inbound-runtime [38]
   org.glassfish.main.javax.ejb [134]
   org.glassfish.main.ejb.ejb-container [77]
   org.glassfish.main.transaction.internal-api [244]
   org.glassfish.main.orb.iiop [198]
   org.eclipse.persistence.jpa [209]
   org.glassfish.main.transaction.jta [183]
   org.glassfish.fighterfish.osgi-jta [274]
   org.glassfish.metro.webservices-osgi [258]
   org.glassfish.main.web.weld-integration [262]
   org.glassfish.main.web.glue [250]
   org.eclipse.persistence.core [208]
   org.glassfish.main.transaction.jts [184]
   org.glassfish.main.common.container-common [66]
   org.glassfish.main.ejb.ejb-full-container [78]
   org.glassfish.main.javax.resource [144]
   org.glassfish.main.connectors.internal-api [39]
javax.transaction.xa; version=0.0.0 imported by:
   org.glassfish.main.connectors.runtime [40]
   org.glassfish.main.jms.core [175]
   org.glassfish.main.connectors.inbound-runtime [38]
   org.glassfish.main.transaction.jts [184]
   org.glassfish.main.javax.jms [140]
   org.glassfish.main.jdbc.runtime [160]
   org.glassfish.main.transaction.internal-api [244]
   org.eclipse.persistence.jpa [209]
   org.glassfish.main.transaction.jta [183]
   org.glassfish.metro.webservices-osgi [258]
   org.glassfish.main.connectors.internal-api [39]
   org.glassfish.main.javax.resource [144]
...
javax.transaction; version=1.1.0 imported by:
   org.jboss.weld.osgi-bundle [263]
   org.glassfish.corba.glassfish-corba-orb [99]
   org.glassfish.main.connectors.runtime [40]
   org.glassfish.main.connectors.inbound-runtime [38]
   org.glassfish.main.javax.ejb [134]
   org.glassfish.main.ejb.ejb-container [77]
   org.glassfish.main.transaction.internal-api [244]
   org.glassfish.main.orb.iiop [198]
   org.eclipse.persistence.jpa [209]
   org.glassfish.main.transaction.jta [183]
   org.glassfish.fighterfish.osgi-jta [274]
   org.glassfish.metro.webservices-osgi [258]
   org.glassfish.main.web.weld-integration [262]
   org.glassfish.main.web.glue [250]
   org.eclipse.persistence.core [208]
   org.glassfish.main.transaction.jts [184]
   org.glassfish.main.common.container-common [66]
   org.glassfish.main.ejb.ejb-full-container [78]
   org.glassfish.main.javax.resource [144]
   org.glassfish.main.connectors.internal-api [39]
javax.transaction.xa; version=1.1.0 imported by:
   org.glassfish.main.connectors.runtime [40]
   org.glassfish.main.jms.core [175]
   org.glassfish.main.connectors.inbound-runtime [38]
   org.glassfish.main.transaction.jts [184]
   org.glassfish.main.javax.jms [140]
   org.glassfish.main.jdbc.runtime [160]
   org.glassfish.main.transaction.internal-api [244]
   org.eclipse.persistence.jpa [209]
   org.glassfish.main.transaction.jta [183]
   org.glassfish.metro.webservices-osgi [258]
   org.glassfish.main.connectors.internal-api [39]
   org.glassfish.main.javax.resource [144]
...

Since Jersey does not deal with the javax.transaction packages in any regard, the failure
is IMHO caused by Jersey newly introduced bundles tweaked Equinox bundle ordering,
which lead to the above described fragile setup manifested itself by failing.

I tried to remove javax.transaction and javax.transaction.xa packages from the extra package list,
but it did not help, and instead of versioned javax.transaction* packages, the system bundle
kept showing the unversioned export only.

Comment by Jakub Podlesak [ 23/Aug/12 01:29 AM ]

CNF exception log, when starting osgi http service bundle in equinox

Comment by Jakub Podlesak [ 24/Aug/12 11:57 AM ]

updated summary and category

Comment by TangYong [ 03/Feb/13 08:30 AM ]

Hi Sahoo,

I have used the recent v4 trunk snapshot(2013/01/25) and put org.eclipse.osgi_3.9.0.v20130128-202223.jar(Equinox Stable Build: KeplerM5) into glassfish/osgi/equinox, then after setting "GlassFish_Platform=Equinox" and executing "asadmin start-domain", anything is OK basiclly and glassfish/domains/domain1/osgi-cache/equinox/org.eclipse.osgi and sub-directories and related files are all generated normally. However, also noticing that in glassfish/domains/domain1/osgi-cache/equinox/, a log file is generated and its content is as following:

!SESSION 2013-02-03 17:08:52.921 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_09
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP

!ENTRY javax.annotation-api 4 0 2013-02-03 17:08:52.921
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: State change in progress for bundle "file:/D:/20130125/glassfish3/glassfish/modules/endorsed/javax.annotation-api.jar" by thread "main".
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.suspendBundle(PackageAdminImpl.java:330)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:467)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:251)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
... 6 more
Root exception:
org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.suspendBundle(PackageAdminImpl.java:330)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:467)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:251)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
at java.lang.Thread.run(Thread.java:722)

!ENTRY javax.annotation-api 4 0 2013-02-03 17:08:58.453
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: State change in progress for bundle "file:/D:/20130125/glassfish3/glassfish/modules/endorsed/javax.annotation-api.jar" by thread "main".
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:387)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.resumeBundles(PackageAdminImpl.java:317)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:556)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:251)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
... 8 more
Root exception:
org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:387)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.resumeBundles(PackageAdminImpl.java:317)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.processDelta(PackageAdminImpl.java:556)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl.doResolveBundles(PackageAdminImpl.java:251)
at org.eclipse.osgi.framework.internal.core.PackageAdminImpl$1.run(PackageAdminImpl.java:174)
at java.lang.Thread.run(Thread.java:722)

Then, I used "asadmin osgi lb" and found that javax.annotation API (1.1.99.b01)'s status is Active, so I can not confirm whether we can ignore the above exception.

Thanks

Comment by TangYong [ 03/Feb/13 08:32 AM ]

There is a point that I forgot to say: in server.log, I have found any exception or unnormal info.

Comment by Sanjeeb Sahoo [ 03/Feb/13 04:40 PM ]

Tang,

Have you run QuickLook tests against Equinox? You can find the instructions to run QL using Equinox in this bug's description field.

Sahoo

Comment by TangYong [ 04/Feb/13 01:03 AM ]

Sahoo

>Have you run QuickLook tests against Equinox? You can find the instructions to run QL using Equinox in this bug's
>description field.

I Have not still ran QuickLook tests against Equinox and today(maybe tomorrow) I will give you the result of QuickLook tests.

Tang

Comment by TangYong [ 04/Feb/13 03:07 PM ]

BTW: needing to modify <antcall target="start-server-felix"/> and based on GlassFish_Platform condition to judge outputting "in Felix mode" or "in Equinox mode" or "Knopflerfish mode", currently this is hard-coded.

Comment by TangYong [ 05/Feb/13 06:19 AM ]

Hi sahoo,

Please ignore my yesterday's comments because today, I made QL tests many times in my env and another machine again.

The result is that except <antcall target="start-server-felix"/> is hard-coded, QL tests did not hang,
....
testng-summary:
[echo] [testng]
[echo] [testng] ===============================================
[echo] [testng] QuickLookTests
[echo] [testng] Total tests run: 112, Failures: 1, Skips: 0
[echo] [testng] ===============================================
[echo] [testng]
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
...

Failured test is as following and I will create a jira:

<class name="test.admincli.RestartDomainTests">
<test-method status="FAIL" signature="restartDomainTest()" name="restartDomainTest" duration-ms="0" started-at="2013-02-05T14:55:49Z" finished-at="2013-02-05T14:55:49Z">
<exception class="java.lang.AssertionError">
<message>
<![CDATA[Restart domain failed. expected:<true> but was:<false>]]>
</message>
<full-stacktrace>
<![CDATA[java.lang.AssertionError: Restart domain failed. expected:<true> but was:<false>
at org.testng.Assert.fail(Assert.java:84)
at org.testng.Assert.failNotEquals(Assert.java:438)
at org.testng.Assert.assertEquals(Assert.java:108)
at org.testng.Assert.assertEquals(Assert.java:239)
at test.admincli.RestartDomainTests.parseTestResults(RestartDomainTests.java:90)
at test.admincli.RestartDomainTests.restartDomainTest(RestartDomainTests.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:678)
at org.testng.TestRunner.privateRun(TestRunner.java:624)
at org.testng.TestRunner.run(TestRunner.java:495)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
at org.testng.SuiteRunner.run(SuiteRunner.java:190)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
at org.testng.TestNG.run(TestNG.java:699)
at org.testng.TestNG.privateMain(TestNG.java:824)
at org.testng.TestNG.main(TestNG.java:802)
]]>

So, could you please run that hudson job to see whether the issue happens again or not because I have no way to run that hudson job.

Thanks
--Tang

Comment by Sanjeeb Sahoo [ 01/Apr/13 10:31 AM ]

Deferring to 4.0.1 due to lack of time and priority.

Comment by tuomas_kiviaho [ 19/Dec/13 09:32 AM ]

@Jakub I started to have similar problems with JTA packages on another project when I switched from
org.glassfish.main.transaction:javax.transaction:3.1.2.2 over to javax.transaction:javax.transaction-api:1.2

http://wiki.osgi.org/wiki/System_Bundle has a compact explanation of the differentiating manifest headers (Require-Bundle and Fragment-Host) pointing to system.bundle





[GLASSFISH-11480] Not possible to use log TRACE in Felix console of GlassFish v3 Created: 25/Jan/10  Updated: 12/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: V3
Fix Version/s: not determined

Type: Improvement Priority: Major
Reporter: charliem Assignee: Richard S. Hall
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 11,480
Tags:
Participants: charliem, Richard S. Hall, Sanjeeb Sahoo, TangYong and Tom Mueller

 Description   

Hi,

I'm connected to the Felix OSGI server of Glassfish v3 (using telnet localhost
6666) and when I try to use the command :

-> log DEBUG

I receive the following message : No LogReaderService available



 Comments   
Comment by Sanjeeb Sahoo [ 25/Jan/10 01:12 AM ]

All glassfish logs appear in ${domain_dir}/logs/server.log. Either you can open
the log file in your favorite editor or use "GlassFish admin console" to view
the log file entries. To use the later option, open "http://localhost:4848,"
select enterprise server node, select "view Log" tab.

We will enhance GF to add a OSGi Log Reader as well.

Comment by Richard S. Hall [ 15/Jun/11 08:35 AM ]

The value of this depends on what you hope to see in the logs. You will not see logs from the Felix framework since it doesn't use the OSGi Log Service to log its messages (we tried to do this a long time ago, but it lead to deadlock issues since you tend to log at sensitive times and calling out to external code is problematic).

If you want to see logs from installed bundles, then this could be accomplished as simply as installing the Apache Felix Log Service bundle. Not much else needs to be done, no?

Comment by Tom Mueller [ 06/Mar/12 09:56 PM ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

Comment by TangYong [ 12/Oct/12 02:15 PM ]

Hi sahoo,

Now, trunk has merged gf osgi shell command, so, whether not resolving felix console related issues or not? If yes, should close the issue.





[GLASSFISH-13350] Distribute OSGi console by default Created: 08/Sep/10  Updated: 13/Dec/10

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: mohit2602
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 13,350
Tags:
Participants: mohit2602 and Sanjeeb Sahoo

 Description   

If we can make osgi-http bundle a lazy bundle and fix its metadata to import
some packages dynamically, we should be able to ship OSGi console and OSGi
console plugin for admin console as part of default distribution.






[GLASSFISH-14323] Fix non-essential bootdelegation flags - optional portion of issue 11783 Created: 31/Oct/10  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1
Fix Version/s: future release

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 14,323
Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

Refer to issue 11783. This issue is for bootdelegations mentiond under category
#a, #d, and #e in that bug. We need OSGi frameworks to support bootclasspath
extension. Not an urgent issue. I think there is an already RFE filed in Felix
for this feature which I am not able to find. I will add a link if I find it or
may be Richard knows about it.



 Comments   
Comment by TangYong [ 12/Oct/12 01:05 PM ]

It seemed to be the following link[1]
[1]: https://issues.apache.org/jira/browse/FELIX-1974

Comment by TangYong [ 12/Oct/12 01:24 PM ]

currently, felix framework 4.0.3 has been released and if being the link, according to the link, the felix improvement should be implemented on 4.2.0( Fix Version/s: framework-4.2.0 ).

So, indeedly is not an urgent issue.





[GLASSFISH-15622] Recursive calls by Felix when SecurityManager is on slows down GlassFish startup Created: 19/Jan/11  Updated: 17/Jan/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Nithya Ramakrishnan Assignee: Richard S. Hall
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-exclude 3_1_1-scrubbed 3_1_2-exclude
Participants: kumarjayanti, Nithya Ramakrishnan, pauls and Richard S. Hall

 Description   

When Security Manager is on, it is observed that the getClassLoader() call during GF startup goes into a mutual recursion that seems never-ending. These stack dumps can be observed when java.security.debug=all is set as a jvm-option. It appears that JDK is truncating the calls after a few recursions ?.

The getClassLoader() call results in a Runtime Permission check for a permission called "getClassLoader". And this permission check is triggering the mutual recursion between java.lang.Class.getClassLoader() and org.apache.felix.framework.URLHandlers.getFrameworkFromContext.

Since the java.security.debug=all or access:stack options are showing these calls, we believe that it must be happening even when the debug property is not set. And that if this recursive calls issue is fixed, then it can significantly improve GlassFish starup performance when SecurityManager is on.

Here is a sample stack dump:

policy: evaluation (codesource) failed
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1223)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:291)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:607)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:607)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:299)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.Class.getClassLoader(Class.java:611)
at org.apache.felix.framework.URLHandlers.getFrameworkFromContext(URLHandlers.java:605)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:572)
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:472)
at java.net.URL.toExternalForm(URL.java:919)
at java.net.URL.toString(URL.java:905)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.security.CodeSource.toString(CodeSource.java:461)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at sun.security.provider.PolicyFile.addPermissions(PolicyFile.java:1318)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1281)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1247)
at sun.security.provider.PolicyFile.getPermissions(PolicyFile.java:1188)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:331)
at java.security.ProtectionDomain$1.run(ProtectionDomain.java:328)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.mergePermissions(ProtectionDomain.java:326)
at java.security.ProtectionDomain.toString(ProtectionDomain.java:271)



 Comments   
Comment by kumarjayanti [ 20/Jan/11 12:12 AM ]

when the java.security.debug property is set to all and SecurityManager is ON, we see that GF startup takes a very very long time, infact we need to establish if GF starts ever or not by letting it run for as long as it takes.

IOW it is not clear if these stacktraces are a side-effect of enabling java.security.debug=all, though in theory it should not be a side-effect.

Comment by pauls [ 20/Jan/11 06:58 AM ]

The stacktrace is a side-effect of enabling java.security.debug=all.

The problem is that in that case the security subsystem does toString the codesources of the protection domains. That calls back into the urlhandlers which in turn trigger a security check while processing the request and there we go. The thing is that we actually catch the resulting exception and do the right thing eventually (so it should still work fine in the end) but for that the exception has to happen first which takes a while.

I think i can fix it but its somewhat hard for me to reproduce this quickly as i don't have a working gf around. If I attach a patched felix.jar to this issue could you see whether it fixes your problem?





[GLASSFISH-15499] Improve osgi metadata of core/bootstrap Created: 09/Jan/11  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1_b36
Fix Version/s: future release

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: ee7ri_cleanup_deferred
Participants: Sanjeeb Sahoo and Tom Mueller

 Description   

Apply this patch after gate opens for 3.2
ss141213@Sahoo:/space/ss141213/WS/gf/v3$ svn diff core/bootstrap/osgi.bundle
Index: core/bootstrap/osgi.bundle
===================================================================
— core/bootstrap/osgi.bundle (revision 44286)
+++ core/bootstrap/osgi.bundle (working copy)
@@ -40,16 +40,16 @@

Bundle-Activator: com.sun.enterprise.glassfish.bootstrap.GlassFishMainActivator

    1. Please note we don't everything that's required by every class in this module.
    2. We only import packages required by GlassFishMainActivator and its dependencies
      +# Please note we don't mandatorily import everything that's required by every class in this module.
      +# We only import mandatorily packages required by GlassFishMainActivator and its dependencies
  1. such as EmbeddedOSGiGlassFishRuntimeBuilder. The rest of the dependencies are
    1. pulled in dynamically via DynamicImport-Package. By doing this, we will be able
      +# pulled in via optional import or dynamically via DynamicImport-Package. By doing this, we will be able
  2. to install and start this bundle in a vanilla OSGi environment and then bootstrap
    1. rest of GlassFish bundles. Please contact Sahoo or Bhavani before you make any change in this
      +# rest of GlassFish bundles. Please contact Sahoo before you make any change in this
  3. bundle's manifest.
    Import-Package: \
  • org.glassfish.embeddable,
  • org.osgi.*
    + org.glassfish.embeddable, org.osgi.*, \
    + *; resolution:=optional

DynamicImport-Package: *



 Comments   
Comment by Tom Mueller [ 18/Oct/12 09:22 PM ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-17712] rename com.sun.enterprise.hk2 and org.jvnet.hk2.osgiadapter to org.glassfish.hk2 and org.glassfish.hk2.osgiadapter respectively Created: 11/Nov/11  Updated: 12/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0
Fix Version/s: None

Type: Task Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_x-exclude
Participants: Sanjeeb Sahoo and TangYong

 Description   

Streamline package names and constant names in hk2/osgi-adapter module to follow new convention of org.glassfish.hk2.



 Comments   
Comment by TangYong [ 12/Oct/12 12:52 PM ]

Hi sahoo,

The task should be considered combined with GLASSFISH-18928, because once in the future, moving osgi-adapter out of HK2, the task will be also dong at the same time.





[GLASSFISH-18315] admin console prompts for username password when using glassfish with karaf Created: 03/Feb/12  Updated: 22/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi, security
Affects Version/s: 3.1.1
Fix Version/s: 4.0.1

Type: Bug Priority: Major
Reporter: Sanjeeb Sahoo Assignee: JeffTancill
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Java Archive File gf-karaf-properties.jar    
Tags: 3_1_2-exclude
Participants: Anissa Lam, JeffTancill, Joe Di Pol and Sanjeeb Sahoo

 Description   

When we embed GlassFish in Apache Karaf (karaf.apache.org), admin console prompts for user name and password and no combination works. To reproduce follow the simple steps given below:

1) Download and install http://karaf.apache.org/index/community/download.html#Karaf2.2.5
2) cd apache-karaf-2.2.5
3) jar xvf gf-karaf-properties.jar
4) Run ./bin/karaf
You will get a prompt like karaf@root>
5) karaf@root> install file:/path-to-glassfish3/glassfish/modules/glassfish.jar
This will print a bundle id (likely to print 49)
6) karaf@root> start 49
You will see some output like "deduced install root blah blah blah..."
7)Now open admin console in browser. You shall see it prompting for user name and password.

To debug what's going on, replace the command in step #2 by following command (all in one line):
KARAF_DEBUG=true JAVA_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" ./bin/karaf



 Comments   
Comment by Sanjeeb Sahoo [ 03/Feb/12 07:07 AM ]

Properties patch to get rid of javax.annotation.ManagedBean class issue and logging NPE seen using GF in Karaf.

Comment by Joe Di Pol [ 03/Feb/12 04:31 PM ]

Deferring from 3.1.2 release. Not a regression. Not a showstopper.

Comment by Anissa Lam [ 09/Feb/12 03:40 AM ]

I followed the instruction, and use the glassfish.jar from 3.1.2 promoted build 21 .
Although the login screen showed up (which shouldn't) and require you to login, I can login successfully by providing "admin" as username and an empty password, which is the out-of-box configuration.

I can also logout and login again doing the same. "admin" with empty password. Also can create another admin user and set a password.

We need to see why anonymous login is returning false which prevents us from bypassing the login screen. But at least you can login to console.

Comment by Sanjeeb Sahoo [ 09/Feb/12 03:54 AM ]

Anissa,

I am glad user can at least login. Let's hope that you can find the root cause behind prompting of login screen in this case and fix it too.

Sahoo

Comment by Anissa Lam [ 09/Feb/12 04:06 AM ]

yes, looking into that.

Comment by Anissa Lam [ 09/Feb/12 04:13 AM ]

Where can i see glassfish server.log ?
The etc/java.util.logging.properties has
com.sun.enterprise.server.logging.GFFileHandler.file=/tmp/server.log

the file created ok, but it is empty.

Comment by Anissa Lam [ 09/Feb/12 05:24 AM ]

I see that __anonymous-user-enabled returns false, saying The anonymous user is disabled. Thus console puts out the login screen.

Tracing this in the backend login code, everything seems fine until in LoginContextDriver.java doPasswordLogin(Subject subject).

Line# 381:
LoginContext lg = new LoginContext(jaasCtx, s, dummyCallback);
is throwing a LoginException, cause is "No LoginModules configured for fileRealm".

Thus the userName in this line:
String userName = su.getAnonymousUser(habitat); in IsAnonymousUserEnabledCommand becomes null and 'anonymousUserEnabled' in the actionReport is set to false, causing GUI to prompt for user login.

I am assigning this to security.

Comment by Anissa Lam [ 09/Feb/12 05:28 AM ]

put back OSGI as component, it was accidentally removed.





[GLASSFISH-18361] GlassFish OSGI Web Console is not available when GlassFish is installed on custom ports Created: 14/Feb/12  Updated: 12/Feb/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: dkroot Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GlassFish 3.1.1, Java EE SDK 6 u3 running on JDK 6, Mac OS X 10.6.8 or Windows Server 2003 R2 SP2


Tags: admin-gui osgi 3_1_2-exclude 3_1_2-next
Participants: Anissa Lam, dkroot, Joe Di Pol and Sanjeeb Sahoo

 Description   

Test case:
1. Install either 3.1.1 standalone or Java EE SDK.
2. Select custom ports for HTTP service and Admin service. For example: 1234 and 1235.
3. Run an update tool, install:
glassfish-osgi-gui Application Servers 3.1.1-12
glassfish-osgi-feature-pack Application Servers 3.1.1-12
glassfish-osgi-incorporation Application Servers 3.1.1-12

4. Start the domain

Expected:
OSGi Web Console is available either via Admin Console > server > OSGi Console or via http://localhost:1234/osgi/system/console/ per the documentation.

Actual:
Admin console displays "can't contact server at localhost:8080" in Firefox. The direct OSGi Web Console link displays 404.

Workaround:
Applied workaround from http://java.net/jira/browse/GLASSFISH-18228. The direct link is functional now. However, the Admin console still displays the same error message.



 Comments   
Comment by Joe Di Pol [ 17/Feb/12 07:51 PM ]

Too late to address in 3.1.2. Tagging for consideration in next release.

Comment by Anissa Lam [ 12/Feb/13 12:02 AM ]

Request Sahoo to do the evaluation. I am not sure if this need to be addressed for 4.0, and what needs to be done in the console side. thanks.





[GLASSFISH-18533] Make OSGi Web console available via admin port Created: 20/Mar/12  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2
Fix Version/s: future release

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Status Whiteboard:

Workaround:
If you want to change it to 4848, please try adding a file called
domain_dir/autodeploy/bundles/org.apache.felix.webconsole.internal.servlet.OsgiManager.cfg
with following content:
http.service.filter=VirtualServer=__asadmin

Tags: ee7ri_cleanup_deferred
Participants: Sanjeeb Sahoo and Tom Mueller

 Description   

Based on feedback received in GLASSFISH-18228, it will be better to configure the OSgi admin console extension to make the OSGi console available on admin port than usual http traffic port. It will be even better to make it a configurable property.



 Comments   
Comment by Sanjeeb Sahoo [ 20/Mar/12 07:39 AM ]

See workaround until we switch the default.

Comment by Tom Mueller [ 18/Oct/12 09:22 PM ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-19146] supporting ondemand obr deployment Created: 12/Oct/12  Updated: 12/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: future release
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

Pl.see[1]
[1]: https://wikis.oracle.com/display/GlassFish/3.1OSGi- Generic OSGi Features (OSGi-05)

"a) OBR integration: We plan to have OBR integration in place so that GlassFish deployment process can resolve dependencies of bundles via OBR. OBR integration will also help us having a better provisioning story for embedded glassfish use case, for we can then provide a la carte access to GF modules via OBR."



 Comments   
Comment by TangYong [ 12/Oct/12 07:04 AM ]

Currently, the design is in discussion, there is a initial onepager[2]

[2]: https://github.com/tangyong/glassfish-ondemand-deployment/tree/master/design/





[GLASSFISH-18870] Avoid configuring embeddable packages in osgi.properties. Created: 07/Jul/12  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2
Fix Version/s: future release

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File patch.txt    
Tags: ee7ri_cleanup_deferred
Participants: Sanjeeb Sahoo and Tom Mueller

 Description   

Turn simple-glassfish-api to be a framework extension instead.



 Comments   
Comment by Sanjeeb Sahoo [ 09/Jul/12 12:29 AM ]

This can't be integrated until https://issues.apache.org/jira/browse/FELIX-3587 is fixed. There must be a similar issue on Equinox as well. Those bugs will appear when gf is embedded in an existing environment. We encountered them while running FighterFish dev tests with this patch.

Comment by Tom Mueller [ 18/Oct/12 09:22 PM ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-18886] Glassfish exposes the internal modules/osgi bundles for the deployed applications Created: 11/Jul/12  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: classloader, OSGi
Affects Version/s: 3.1
Fix Version/s: 4.0.1

Type: Bug Priority: Major
Reporter: Ervin88 Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GNU/Linux 2.6.18-238.el5 x86_64


Tags: osgi modules eclipse moxy
Participants: Ervin88 and Sanjeeb Sahoo

 Description   

A Java EE compliant application server should not expose its internal modules to the applications.

We are using the Eclipse Moxy 2.3.2 in our application that is deployed to a Glassfish 3.1 instance. Moxy 2.3.2 depends on the org.eclipse.persistence.core 2.3.2 artifact. Furthermore, GF 3.1 also contains an org.eclipse.persistence.core(with version 2.2.0) artifact as an osgi bundle in the as-install/glassfish/modules directory. The problem is that the Glassfish/osgi framework exposes the classes to our application from the osgi bundle in the glassfish's modules dir.






[GLASSFISH-18892] Refactor StaticGFR & EmbeddedOSGiGFR Created: 12/Jul/12  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0
Fix Version/s: 4.0.1

Type: Task Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo

 Description   

Implement them as subclass of GFRDecorator & let StaticGFR be responsible for creating temp instance root inside setEnv(). Let each override createModulesRegistry().






[GLASSFISH-18893] Error when trying to restart Glassfish with osgi bundles - server crashes Created: 12/Jul/12  Updated: 13/Dec/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: rcbandit Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos 6, Glassfish 3.1.2


Tags:
Participants: rcbandit and Sanjeeb Sahoo

 Description   

I have a osgi bundle which I successfully deployed on Glassfish 3.1.2. This is the bundle activator:

import javax.sql.DataSource;
import java.sql.SQLException;

import java.util.Properties;
import org.DX_57.osgi.SH_27.api.SessionHandle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
import org.osgi.util.tracker.ServiceTracker;

public class SessionHandleActivator implements BundleActivator {

// Define Datasource name
public static final String DSNAME = "jdbc/Oracle";
public ServiceTracker st;

// Register the Java method as OSGI Service when the bundle is deployed
@Override
public void start(final BundleContext bc) throws Exception {
debug("Session Handle 27 Activator started");

/*

  • Register the Datasource as Service in order to be used into the
  • bundle later from the Java methods
    */
    Filter filter = bc.createFilter("(&" + "(" + Constants.OBJECTCLASS
    + "=" + DataSource.class.getName() + ")" + "(jndi-name="
    + DSNAME + ")" + ")");
    st = new ServiceTracker(bc, filter, null) {

@Override
public Object addingService(ServiceReference reference) {

DataSource ds = (DataSource) bc.getService(reference);
try { debug(ds.getConnection().toString()); // For session handle SessionHandle sh = new SessionHandleImpl(); sh.setDataSource(ds); /* * Register the Java methods insight the bundle in order to * be used */ ServiceRegistration registerService = bc.registerService(SessionHandle.class.getName(), sh, new Properties()); } catch (SQLException e) {
}

return super.addingService(reference);
}

@Override
public void removedService(ServiceReference reference,
Object service) { super.removedService(reference, service); }
};
st.open();
}

// Remove the OSGI service when the bundle is undeployed
@Override
public void stop(BundleContext bc) throws Exception { boolean ungetService = bc.ungetService(bc.getServiceReference(SessionHandle.class.getName())); st.close(); debug("Session Handle 27 Activator stopped"); }

// Show debug information when the OSGI bundle is deployed
private void debug(String msg) { System.out.println("BundleActivator: " + msg); }
}

When I restart the Glassfish server the server crashes and I get this error stack:

[#|2012-07-08T12:38:16.568+0300|INFO|glassfish3.1.2|org.glassfish.osgijavaeebase|_ThreadID=67;_ThreadName=Thread-2;|Expanded at file:/tmp/osgiapp5717459413008665895/|#]

[#|2012-07-08T12:38:17.205+0300|SEVERE|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.config|_ThreadID=50;_ThreadName=Thread-2;|Critical error during deployment:
com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:674)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:324)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4750)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:550)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5366)
at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)
Caused by: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:672)
... 19 more
Caused by: java.net.MalformedURLException: Unknown protocol: jndi
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at java.net.URI.toURL(URI.java:1096)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:922)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:867)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:658)
... 19 more
Caused by: java.lang.IllegalStateException: Unknown protocol: jndi
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:372)
at java.net.URL.<init>(URL.java:612)
... 27 more

#]

[#|2012-07-08T12:38:17.233+0300|SEVERE|glassfish3.1.2|org.apache.catalina.core.StandardContext|_ThreadID=50;_ThreadName=Thread-2;|PWC1306: Startup of context failed due to previous errors|#]

[#|2012-07-08T12:38:17.244+0300|SEVERE|glassfish3.1.2|org.apache.catalina.core.StandardContext|_ThreadID=50;_ThreadName=Thread-2;|PWC1305: Exception during cleanup after start failed
org.apache.catalina.LifecycleException: PWC2769: Manager has not yet been started
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:873)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5571)
at com.sun.enterprise.web.WebModule.stop(WebModule.java:527)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5384)
at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)

#]

[#|2012-07-08T12:38:17.245+0300|SEVERE|glassfish3.1.2|org.apache.catalina.core.ContainerBase|_ThreadID=50;_ThreadName=Thread-2;|ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5389)
at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)
Caused by: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4750)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:550)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5366)
... 14 more
Caused by: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:674)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:324)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)
... 17 more
Caused by: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:672)
... 19 more
Caused by: java.net.MalformedURLException: Unknown protocol: jndi
at java.net.URL.<init>(URL.java:617)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at java.net.URI.toURL(URI.java:1096)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:922)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:867)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:658)
... 19 more
Caused by: java.lang.IllegalStateException: Unknown protocol: jndi
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:372)
at java.net.URL.<init>(URL.java:612)
... 27 more

#]

[#|2012-07-08T12:38:17.250+0300|INFO|glassfish3.1.2|org.apache.catalina.startup.ContextConfig|_ThreadID=12;_ThreadName=Thread-2;|No default web.xml|#]

[#|2012-07-08T12:38:17.253+0300|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=50;_ThreadName=Thread-2;|java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:921)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)

#]

[#|2012-07-08T12:38:17.254+0300|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=50;_ThreadName=Thread-2;|Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108)

#]

[#|2012-07-08T12:38:17.254+0300|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=50;_ThreadName=Thread-2;|Exception while loading the app|#]

[#|2012-07-08T12:38:17.258+0300|INFO|glassfish3.1.2|org.glassfish.osgihttp|_ThreadID=12;_ThreadName=Thread-2;|standardContext = StandardEngine[glassfish-web].StandardHost[__asadmin].StandardContext[/osgi]|#]

[#|2012-07-08T12:38:17.301+0300|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=50;_ThreadName=Thread-2;|Exception while loading the app|#]






[GLASSFISH-18945] Better use of bundle start level Created: 25/Jul/12  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2
Fix Version/s: future release

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: File osgi.properties    
Issue Links:
Related
is related to GLASSFISH-18944 [REGRESSION] WARNING: Error finding i... Resolved
Tags: ee7ri_cleanup_deferred
Participants: Sanjeeb Sahoo and Tom Mueller

 Description   

Currently although we depend on certain bundle start orders as described in GLASSFISH-18944 , we are not using start levels to record the desired bundle start order. It should be a trivial effort to fix this. PFA a patched osgi.properties file as well. It can be applied once the code base is stable. When we change this, we will also have to fix our OSGi documentation that states the start level of shell bundle as 3.



 Comments   
Comment by Tom Mueller [ 18/Oct/12 09:22 PM ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-18973] Integrate the OSGi Remote Services implementation(eg. Apache CXF Distributed OSGi) Created: 03/Aug/12  Updated: 29/Nov/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: future release
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
GLASSFISH-19401 Adding org.apache.cxf.dosgi.discovery... Sub-task Open Sanjeeb Sahoo  
Tags: Distributed OSGi
Participants: ancoron, Sanjeeb Sahoo and TangYong

 Description   

[BackGround]
[Reference By https://issues.jboss.org/browse/JBOSGI-322]
The Enterprise OSGi Spec describes OSGi Remote Services which is a way to Distribute OSGi Services.
An implementation on top of Web Services and REST is available at the CXF Distributed OSGi project (http://cxf.apache.org/distributed-osgi.html).

Integrating this in the JBoss OSGi distribution would provide it with support for this important OSGi spec.

[Requirement]
In a distributed soa/cloud enviroment, in order to decouple the whole system and use the subsystems dynamicly, user can use osgi. However, because subsystems/modules can be distributed across the whole system, as a framework of publishing/consuming services, glassfish should have an capability to support Distributed OSGi.

[Integration Example]
"Deploying CXF-DOSGi to JBoss AS7"
https://community.jboss.org/thread/174136



 Comments   
Comment by TangYong [ 03/Aug/12 02:40 PM ]

Once implementing the feature, It will offer a hybrid JavaEE App more options.

Comment by TangYong [ 23/Aug/12 09:46 AM ]

Now, the integration work will start and use Multi Bundle Distribution of CXF Distributed OSGi.

DCXF Version: 1.3.1

Comment by TangYong [ 23/Aug/12 10:07 AM ]

Step 1(Glassfish Felix Runtime Integration)

Step1.1 Analysing DCXF Dependent Bundles
[Background]
Because some of DCXF dependent bundles belong to other open souce implementation of specfications, we must analyse these bundles to confirm whether glassfish has the corresponding implementations or not and if having, we will replace them using glassfish implementations. DCXF Dependent Bundles needed to be analysed are following(removing dcxf-related bundles and org.osgi.compendium-4.2.0.jar and org.osgi.enterprise-4.2.0.jar):
-------------------------------------------------------------------------
geronimo-annotation_1.0_spec-1.1.1.jar
dosgi_bundles/geronimo-activation_1.1_spec-1.1.jar
geronimo-javamail_1.4_spec-1.2.jar
geronimo-servlet_3.0_spec-1.0.jar
geronimo-ws-metadata_2.0_spec-1.1.3.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.jdom-1.1.0.jar
spring-core-3.0.6.RELEASE.jar
spring-beans-3.0.6.RELEASE.jar
spring-context-3.0.6.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.slf4j.api-1.5.10.jar
com.springsource.slf4j.jcl-1.5.10.jar
spring-aop-3.0.6.RELEASE.jar
spring-asm-3.0.6.RELEASE.jar
spring-expression-3.0.6.RELEASE.jar
spring-osgi-io-1.2.1.jar
spring-osgi-core-1.2.1.jar
spring-osgi-extender-1.2.1.jar
jetty-all-server-7.4.2.v20110526.jar
pax-web-spi-1.0.3.jar
pax-web-runtime-1.0.3.jar
pax-web-jetty-1.0.3.jar
org.apache.servicemix.bundles.jaxb-impl-2.1.13_2.jar
org.apache.servicemix.bundles.wsdl4j-1.6.2_5.jar
org.apache.servicemix.bundles.xmlsec-1.4.5_1.jar
xmlschema-core-2.0.1.jar
org.apache.servicemix.bundles.asm-3.3_2.jar
org.apache.servicemix.bundles.xmlresolver-1.2_4.jar
neethi-3.0.1.jar
stax2-api-3.1.1.jar
woodstox-core-asl-4.1.1.jar
org.apache.servicemix.bundles.commons-pool-1.5.4_1.jar
org.apache.servicemix.specs.saaj-api-1.3-1.9.0.jar
org.apache.servicemix.specs.stax-api-1.0-1.9.0.jar
org.apache.servicemix.specs.jaxb-api-2.1-1.9.0.jar
org.apache.servicemix.specs.jaxws-api-2.1-1.9.0.jar
org.apache.servicemix.specs.jsr311-api-1.1.1-1.9.0.jar
org.apache.servicemix.bundles.joda-time-1.5.2_4.jar
org.apache.servicemix.bundles.opensaml-2.4.1_1.jar
--------------------------------------------------------------------------

Comment by TangYong [ 25/Aug/12 08:39 AM ]

> Step1.1 Analysing DCXF Dependent Bundles

About initial analysing result, please see [1],

[1] https://github.com/tangyong/Integrating-Glassfish-With-OSGi-Remote-Services-implementation/issues/1

To summary, I will place the following depenedent bundles and dcxf bundles into glassfish autostart/,

(1) com.springsource.org.apache.commons.logging-1.1.1.jar
(2) com.springsource.org.jdom-1.1.0.jar
(3) spring-core-3.0.6.RELEASE.jar
(4) spring-beans-3.0.6.RELEASE.jar
(5) spring-context-3.0.6.RELEASE.jar
(6) com.springsource.org.aopalliance-1.0.0.jar
(7) com.springsource.slf4j.api-1.5.10.jar
(8) com.springsource.slf4j.jcl-1.5.10.jar
(9) spring-aop-3.0.6.RELEASE.jar
(10) spring-asm-3.0.6.RELEASE.jar
(11) spring-expression-3.0.6.RELEASE.jar
(12) spring-osgi-io-1.2.1.jar
(13) spring-osgi-core-1.2.1.jar
(14) spring-osgi-extender-1.2.1.jar
(15) org.apache.servicemix.bundles.wsdl4j-1.6.2_5.jar (Note: I am waiting the reply from dev team)
(16) xmlschema-core-2.0.1.jar
(17) org.apache.servicemix.bundles.asm-3.3_2.jar
(18) org.apache.servicemix.bundles.xmlresolver-1.2_4.jar
(19) neethi-3.0.1.jar
(20) org.apache.servicemix.bundles.commons-pool-1.5.4_1.jar
(21) org.apache.servicemix.bundles.joda-time-1.5.2_4.jar
(22) org.apache.servicemix.bundles.opensaml-2.4.1_1.jar
(23) cxf-bundle-minimal-2.5.2.jar
(24) cxf-dosgi-ri-discovery-local-1.3.1.jar
(25) org.osgi.enterprise-4.2.0.jar
(26) cxf-dosgi-ri-dsw-cxf-1.3.1.jar
(27) cxf-dosgi-ri-topology-manager-1.3.1.jar

Comment by TangYong [ 25/Aug/12 08:51 AM ]

Step1.2: based Step1.1 result, place the dcxf and dependent bundles into osgi.properties and apply these bundle's start levels

On original dcxf's conf\felix.config.properties.append file, start level descriptions are as following,

org.ops4j.pax.web.session.timeout=30
org.osgi.framework.startlevel.beginning=95
felix.auto.start.50=http://repo2.maven.org/maven2/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar

felix.auto.start.51=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/geronimo-annotation_1.0_spec-1.1.1.jar
felix.auto.start.52=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/geronimo-activation_1.1_spec-1.1.jar
felix.auto.start.53=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/geronimo-javamail_1.4_spec-1.2.jar
felix.auto.start.54=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/geronimo-servlet_3.0_spec-1.0.jar
felix.auto.start.55=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/geronimo-ws-metadata_2.0_spec-1.1.3.jar
felix.auto.start.56=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/com.springsource.org.apache.commons.logging-1.1.1.jar
felix.auto.start.57=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/com.springsource.org.jdom-1.1.0.jar
felix.auto.start.58=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-core-3.0.6.RELEASE.jar
felix.auto.start.59=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-beans-3.0.6.RELEASE.jar
felix.auto.start.60=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-context-3.0.6.RELEASE.jar
felix.auto.start.61=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/com.springsource.org.aopalliance-1.0.0.jar
felix.auto.start.62=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/com.springsource.slf4j.api-1.5.10.jar
felix.auto.start.63=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/com.springsource.slf4j.jcl-1.5.10.jar
felix.auto.start.64=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-aop-3.0.6.RELEASE.jar
felix.auto.start.65=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-asm-3.0.6.RELEASE.jar
felix.auto.start.66=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-expression-3.0.6.RELEASE.jar
felix.auto.start.67=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-osgi-io-1.2.1.jar
felix.auto.start.68=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-osgi-core-1.2.1.jar
felix.auto.start.69=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/spring-osgi-extender-1.2.1.jar
felix.auto.start.70=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/jetty-all-server-7.4.2.v20110526.jar
felix.auto.start.71=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/pax-web-spi-1.0.3.jar
felix.auto.start.72=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/pax-web-runtime-1.0.3.jar
felix.auto.start.73=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/pax-web-jetty-1.0.3.jar
felix.auto.start.74=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.jaxb-impl-2.1.13_2.jar
felix.auto.start.75=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.wsdl4j-1.6.2_5.jar
felix.auto.start.76=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.xmlsec-1.4.5_1.jar
felix.auto.start.77=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/xmlschema-core-2.0.1.jar
felix.auto.start.78=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.asm-3.3_2.jar
felix.auto.start.79=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.xmlresolver-1.2_4.jar
felix.auto.start.80=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/neethi-3.0.1.jar
felix.auto.start.81=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/stax2-api-3.1.1.jar
felix.auto.start.82=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/woodstox-core-asl-4.1.1.jar
felix.auto.start.83=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.commons-pool-1.5.4_1.jar
felix.auto.start.84=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.specs.saaj-api-1.3-1.9.0.jar
felix.auto.start.85=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.specs.stax-api-1.0-1.9.0.jar
felix.auto.start.86=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.specs.jaxb-api-2.1-1.9.0.jar
felix.auto.start.87=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.specs.jaxws-api-2.1-1.9.0.jar
felix.auto.start.88=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.specs.jsr311-api-1.1.1-1.9.0.jar
felix.auto.start.89=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.joda-time-1.5.2_4.jar
felix.auto.start.90=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.apache.servicemix.bundles.opensaml-2.4.1_1.jar
felix.auto.start.91=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/cxf-bundle-minimal-2.5.2.jar
felix.auto.start.92=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/cxf-dosgi-ri-discovery-local-1.3.1.jar
felix.auto.start.93=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/org.osgi.enterprise-4.2.0.jar
felix.auto.start.94=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/cxf-dosgi-ri-dsw-cxf-1.3.1.jar
felix.auto.start.95=file:apache-cxf-dosgi-ri-1.3.1/dosgi_bundles/cxf-dosgi-ri-topology-manager-1.3.1.jar

I need to map these configurations into gf's osgi.properties and can start these bundles in correct order.

Comment by TangYong [ 27/Aug/12 01:18 PM ]

Now, based Step1.1, while I put the selected bundles into GF, DCXF has not ran normally, so I decided to put the original most of bundles on conf\felix.config.properties.append file into GF, integration way is as following:

1 make a new sub-directory called "apachedcxf" under glassfish\modules directory.

2 copy the following bundles into the apachedcxf directory,

com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.jdom-1.1.0.jar
com.springsource.slf4j.api-1.5.10.jar
com.springsource.slf4j.jcl-1.5.10.jar
cxf-bundle-minimal-2.5.2.jar
cxf-dosgi-ri-discovery-local-1.3.1.jar
cxf-dosgi-ri-dsw-cxf-1.3.1.jar
cxf-dosgi-ri-topology-manager-1.3.1.jar
geronimo-activation_1.1_spec-1.1.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-javamail_1.4_spec-1.2.jar
geronimo-servlet_3.0_spec-1.0.jar
geronimo-ws-metadata_2.0_spec-1.1.3.jar
jetty-all-server-7.4.2.v20110526.jar
neethi-3.0.1.jar
org.apache.servicemix.bundles.asm-3.3_2.jar
org.apache.servicemix.bundles.commons-pool-1.5.4_1.jar
org.apache.servicemix.bundles.joda-time-1.5.2_4.jar
org.apache.servicemix.bundles.opensaml-2.4.1_1.jar
org.apache.servicemix.bundles.wsdl4j-1.6.2_5.jar
org.apache.servicemix.bundles.xmlresolver-1.2_4.jar
org.apache.servicemix.bundles.xmlsec-1.4.5_1.jar
org.apache.servicemix.specs.jaxb-api-2.1-1.9.0.jar
org.apache.servicemix.specs.jaxws-api-2.1-1.9.0.jar
org.apache.servicemix.specs.jsr311-api-1.1.1-1.9.0.jar
org.apache.servicemix.specs.saaj-api-1.3-1.9.0.jar
org.apache.servicemix.specs.stax-api-1.0-1.9.0.jar
org.osgi.enterprise-4.2.0.jar
pax-web-jetty-1.0.3.jar
pax-web-runtime-1.0.3.jar
pax-web-spi-1.0.3.jar
spring-aop-3.0.6.RELEASE.jar
spring-asm-3.0.6.RELEASE.jar
spring-beans-3.0.6.RELEASE.jar
spring-context-3.0.6.RELEASE.jar
spring-core-3.0.6.RELEASE.jar
spring-expression-3.0.6.RELEASE.jar
spring-osgi-core-1.2.1.jar
spring-osgi-extender-1.2.1.jar
spring-osgi-io-1.2.1.jar
xmlschema-core-2.0.1.jar

3 modify the config/osgi.properties file liking the following,
1) add apachedcxf directory into glassfish.osgi.auto.install
glassfish.osgi.auto.install=\
${com.sun.aas.installRootURI}modules/endorsed/ \
${com.sun.aas.installRootURI}modules/osgi-resource-locator.jar \
${com.sun.aas.installRootURI}modules/ \
${com.sun.aas.installRootURI}modules/autostart/ \
${com.sun.aas.installRootURI}modules/apachedcxf/

2) add ${apache.dcxf.bundles} into glassfish.osgi.auto.start
glassfish.osgi.auto.start=\
${core.bundles} \
${osgi-ee.bundles} \
${osgi-shell.bundles} \
${apache.dcxf.bundles}

3) define ${apache.dcxf.bundles}
${com.sun.aas.installRootURI}modules/apachedcxf/com.springsource.org.apache.commons.logging-1.1.1.jar \
${com.sun.aas.installRootURI}modules/apachedcxf/com.springsource.org.jdom-1.1.0.jar \
${com.sun.aas.installRootURI}modules/apachedcxf/spring-core-3.0.6.RELEASE.jar \
...

4) define list of Apache DCXF Bundles whose start levels are copied from felix.config.properties.append
glassfish.osgi.auto.start.level.51= ${com.sun.aas.installRootURI}modules/apachedcxf/geronimo-annotation_1.0_spec-1.1.1.jar
glassfish.osgi.auto.start.level.52= ${com.sun.aas.installRootURI}modules/apachedcxf/geronimo-activation_1.1_spec-1.1.jar
glassfish.osgi.auto.start.level.53= ${com.sun.aas.installRootURI}modules/apachedcxf/geronimo-javamail_1.4_spec-1.2.jar
glassfish.osgi.auto.start.level.54= ${com.sun.aas.installRootURI}modules/apachedcxf/geronimo-servlet_3.0_spec-1.0.jar
...

5) modify glassfish.osgi.start.level.final propety
glassfish.osgi.start.level.final=95

6) add org.osgi.framework.system.packages.extra [1]
org.osgi.framework.system.packages.extra= org.w3c.dom.traversal
[1]http://cxf.apache.org/dosgi-multi-bundle-setup.html

4 start GF domain and telnet felix shell

5 execute the following,

g! start http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-greeter-interface/1.2/cxf-dosgi-ri-samples-greeter-interface-1.2.jar
g! start http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-greeter-impl/1.2/cxf-dosgi-ri-samples-greeter-impl-1.2.jar

6 access "http://localhost:9090/greeter?wsdl" and see the remote service's wsdl description successfully.

Althogh the above integration seemed to be successful, there are several following problems needed to be resolved:

(1) still need to confirm the minimal bundles in order to integrate DCXF(Step 1.1's analyse is not enough)
(2) current Apache DCXF's version has a big problem found(service client can not import remote service ) and I have asked the David[2] and commented on DCXF JIRA[3] and I decided to try to firstly integrate dcxf 1.2 version from tomorrow.

[2]https://community.jboss.org/thread/174136
[3]https://issues.apache.org/jira/browse/DOSGI-114

Comment by TangYong [ 27/Aug/12 03:30 PM ]

Now, Glassfish with Apache DCXF 1.2 has integrated successfully!

Using Way is as following,

1 make a sub-directory called "apachedcxf" under glassfish\modules.

2 copy apache dcxf-related bundles[1] into "apachedcxf" directory.
[1]https://github.com/tangyong/gf-dcxf-integration/tree/master/apachedcxf

3 copy and override glassfish\config\osgi.properties using modified osgi.properties[2]
[2]https://github.com/tangyong/gf-dcxf-integration/blob/master/osgi.properties

4 start GF domain and telnet GF Felix Shell

5 According to Distributed OSGi Greeter Demo Walkthrough[3], install and start cxf-dosgi-ri-samples-greeter-interface-1.2.jar and cxf-dosgi-ri-samples-greeter-impl-1.2.jar

6 access "http://localhost:9090/greeter?wsdl" and you can see the wsdl description of exported remote service

7 start another osgi framework with Apache DCXF 1.2(or GF with Apache DCXF 1.2), install and start cxf-dosgi-ri-samples-greeter-interface-1.2.jar and cxf-dosgi-ri-samples-greeter-client-1.2.jar, then input "foobar" on popuped dialog, and you will see the following info,

greetMe("foobar") returns:
Hola foobar
Bonjour foobar
Hoi foobar
Hello foobar

Comment by ancoron [ 27/Aug/12 06:55 PM ]

While I think remote OSGi is something that is really useful there are some other things to look at, as I already have some deeper experience with Apache D-CXF in GlassFish 3.1:

  1. Apache D-CXF doesn't play well with generics (e.g. see https://issues.apache.org/jira/browse/CXF-3613)
  2. Don't we need a different (much simpler) TopologyManager for GlassFish Clusters?
  3. Shouldn't the HTTP endpoint deployment use the default virtual server instead of trying to open yet another port?
  4. Apache D-CXF is quite heavy-weight - consider alternatives like Eclipse ECF (http://wiki.eclipse.org/ECF/Distributed_OSGi_Services) or FuseSource Fabric (http://fuse.fusesource.org/fabric/index, example here: https://github.com/fusesource/fuse/tree/master/fabric/fabric-examples/fabric-camel-dosgi)
  5. Can the existing GMS provide a TopologyManager? Could avoid the extra-cost of ZooKeeper and similar.


From my point of view also the following question matters in production environments:

  1. Use local (same-JVM) service or always go remote (TCP)?


Usually all projects work nice with their published demos but it turns out that most of them just don't work if you have existing services leveraging recent language constructs and "just" want to export them remotely.

Comment by TangYong [ 28/Aug/12 07:37 AM ]

Thanks for your deeper experience very much.

>Apache D-CXF doesn't play well with generics (e.g. see https://issues.apache.org/jira/browse/CXF-3613)
Indeed , Apache DCXF still needed to be improved on some aspects.

>Don't we need a different (much simpler) TopologyManager for GlassFish Clusters?
>Can the existing GMS provide a TopologyManager? Could avoid the extra-cost of ZooKeeper and similar.
Maybe shoal team can explain the point, and about whether ZooKeeper(Nowaday, I only know Zookeeper has been used on Remote Service Discovery) can do the same thing or not, if having more time, we can investigate it and maybe provide a better solution!

>Shouldn't the HTTP endpoint deployment use the default virtual server instead of trying to open yet another port?
Yeah, this is a problem and I will investigate it if having more time. Thanks your suggestion!

>Apache D-CXF is quite heavy-weight - consider alternatives like Eclipse ECF (http://wiki.eclipse.org
>/ECF/Distributed_OSGi_Services) or FuseSource Fabric (http://fuse.fusesource.org/fabric/index, example here: >https://github.com/fusesource/fuse/tree/master/fabric/fabric-examples/fabric-camel-dosgi)

About the point("quite heavy-weight"), I think that Eclipse ECF and FuseSource Fabric maybe will bring more coupling with other framework, and of course, if having more time, I will try to invesitigate and try them.

Comment by TangYong [ 12/Oct/12 06:48 AM ]

Consider deferring implementing this feature for now for the following reasons:

1) need to consider start level because of dcxf self
Maybe need to combine with GLASSFISH-18945

2) distributed osgi runtime is not very important for current glassfish although dosgi is a very excellent improvment for OSGi self(making OSGi have distributed feature liking rmi, corba,...).

3) need to consider integration with other osgi platform related dosgi framework, not only is dcxf, because glassfish also supports other osgi runtime as equinox.

4) integration way is still in progress and maybe needs to be combined with ondemand obr deployment.

Comment by TangYong [ 29/Nov/12 11:39 AM ]

Now, DOSGI-114 [1] has been fixed and next week, DOSGi 1.4 will be released. This release is a big release and I will integrate DOSGi based the release.

[1]: https://issues.apache.org/jira/browse/DOSGI-114

In addition,

>2) distributed osgi runtime is not very important for current glassfish although dosgi is a very excellent improvment for OSGi self(making OSGi have distributed feature liking rmi, corba,...).

In the future, there is a plan to use OSGi/CDI to import OSGi Service from distribute OSGi runtime, So integrating dosgi has turned very important.

--Tang





[GLASSFISH-19136] Consider better use of start levels in conjuction with autostart dir Created: 09/Oct/12  Updated: 12/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

We hardcode a number of module names in osgi.properties file as core.bundles. We should consider having different startlevels in modules/autostart and moving those bundles to that dir.



 Comments   
Comment by TangYong [ 10/Oct/12 11:41 AM ]

Hi sahoo, about description, I have a point and want to confirm it.

core.bundles should be defined as minimum set of bundles in order to start gf normally, current's definition is as following:

core.bundles=\
${com.sun.aas.installRootURI}modules/endorsed/ \
${obr.bundles} \
${hk2.bundles} \
${com.sun.aas.installRootURI}modules/glassfish.jar

I think these bundles should be needed.

So, on "a number of module names in osgi.properties file as core.bundles.", what is the mean of "a number of module"?

Comment by TangYong [ 12/Oct/12 12:28 PM ]

As a precondition, whether GLASSFISH-18945 should be implemented earlier or not?





Integrate the OSGi Remote Services implementation(eg. Apache CXF Distributed OSGi) (GLASSFISH-18973)

[GLASSFISH-19401] Adding org.apache.cxf.dosgi.discovery.zookeeper.cfg into felix.fileinstall.dir in order to support Zookeeper discovery Created: 04/Dec/12  Updated: 04/Dec/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: future release
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

In order to support Zookeeper discovery, we need to add a org.apache.cxf.dosgi.discovery.zookeeper.cfg into felix.fileinstall.dir called "${com.sun.aas.instanceRoot}/autodeploy/bundles/", because apache dcxf used config admin to interact with Zookeeper server.






[GLASSFISH-19357] NPE Happened while executing com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.remove Created: 19/Nov/12  Updated: 19/Nov/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: not determined
Fix Version/s: None

Type: Bug Priority: Major
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

While implementing GLASSFISH-15365, the following NPE happened,

[#|2012-11-19T19:49:39.796+0900|WARNING|44.0|org.jvnet.hk2.osgiadapter|_ThreadID=15;_ThreadName=admin-listener(1);_TimeMillis=1353322179796;_LevelValue=900;|e = java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.remove(AbstractModulesRegistryImpl.java:451)
at org.jvnet.hk2.osgiadapter.OSGiModulesRegistryImpl.remove(OSGiModulesRegistryImpl.java:283)
at org.jvnet.hk2.osgiadapter.OSGiModulesRegistryImpl.bundleChanged(OSGiModulesRegistryImpl.java:147)
at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4244)
at org.apache.felix.framework.Felix.uninstallBundle(Felix.java:2533)
at org.apache.felix.framework.BundleImpl.uninstall(BundleImpl.java:1012)
at org.glassfish.extras.osgicontainer.OSGiDeployer.clean(OSGiDeployer.java:80)
at org.glassfish.internal.data.EngineInfo.clean(EngineInfo.java:122)
at org.glassfish.internal.data.EngineRef.clean(EngineRef.java:167)
at org.glassfish.internal.data.ModuleInfo.clean(ModuleInfo.java:360)
at org.glassfish.internal.data.ApplicationInfo.clean(ApplicationInfo.java:391)
at com.sun.enterprise.v3.server.ApplicationLifecycle.unload(ApplicationLifecycle.java:1076)
at com.sun.enterprise.v3.server.ApplicationLifecycle.undeploy(ApplicationLifecycle.java:1104)
at org.glassfish.deployment.admin.UndeployCommand.execute(UndeployCommand.java:400)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:337)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:565)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1449)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:119)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1759)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1709)
at org.glassfish.admin.rest.resources.admin.CommandResource.executeCommand(CommandResource.java:487)
at org.glassfish.admin.rest.resources.admin.CommandResource.execCommandSimpInMultOut(CommandResource.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.jersey.server.model.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:80)
at org.glassfish.jersey.server.model.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:107)
at org.glassfish.jersey.server.model.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:146)
at org.glassfish.jersey.server.model.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:80)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:354)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:349)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:97)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:204)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:316)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:180)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:796)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:306)
at org.glassfish.admin.rest.adapter.RestAdapter$1.service(RestAdapter.java:327)
at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:189)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispatch(HK2Dispatcher.java:113)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:236)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:175)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:781)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:578)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:558)
at java.lang.Thread.run(Thread.java:662)

#]

[Scene]
I have four bundles (A, B, C, D) and dependency relationship is as following:
C --> A and B
D --> A
B and C are registered as OSGi Service using CDI/OSGi
D uses C using @OSGiService

Then, firstly, I deploy the four bundles normally , secondly, after I was undeploying C, the above NPE happened.

[Initial Analyze]
Although GLASSFISH-15365 is still in process, from the above stack trace, HK2 layer seemed to handle the NPE too.






[GLASSFISH-19389] Unable to start up Glassfish Community Server 3.1.2(.2) ZIP distributable on CentOS due to updatetool and OSGi cache Created: 27/Nov/12  Updated: 27/Nov/12

Status: Open
Project: glassfish
Component/s: OSGi, update_center
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: gargravarr Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS 6.3 x86_64 fresh install, kernel version 2.6.32-279.el6
JDK 1.7u3 x86_64/OpenJDK 1.6.0 x86_64
Hardware: 2x Intel Xeon E5-2603 quad-core x86_64 CPUs, 8GB RAM, 50GB SAN storage formatted ext4


Tags:
Participants: gargravarr and Sanjeeb Sahoo

 Description   

Upon unzipping the archive and attempting to start the domain via asadmin (with correctly placed local JDK), results in the following error on all CentOS 6.3 hosts:

[glassfish@glassfish001 ~]$ glassfish/bin/asadmin start-domain domain1
Waiting for domain1 to start ....Error starting domain domain1.
The server exited prematurely with exit code 1.
Before it died, it produced the following output:

Launching GlassFish on Felix platform
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 1 from /home/glassfish/glassfish3/glassfish/modules/endorsed/webservices-api-osgi.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 2 from /home/glassfish/glassfish3/glassfish/modules/endorsed/javax.annotation.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 3 from /home/glassfish/glassfish3/glassfish/modules/endorsed/jaxb-api-osgi.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 4 from /home/glassfish/glassfish3/glassfish/modules/jersey-grizzly.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 5 from /home/glassfish/glassfish3/glassfish/modules/jdbc-admin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 6 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-csiv2-idl.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 7 from /home/glassfish/glassfish3/glassfish/modules/webservices-extra-jdk-packages.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 8 from /home/glassfish/glassfish3/glassfish/modules/weld-integration-fragment.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 9 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.jpa.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 10 from /home/glassfish/glassfish3/glassfish/modules/container-common.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 11 from /home/glassfish/glassfish3/glassfish/modules/woodstox-core-asl.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 12 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-internal-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 13 from /home/glassfish/glassfish3/glassfish/modules/jms-admin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 14 from /home/glassfish/glassfish3/glassfish/modules/jaspic.provider.framework.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 15 from /home/glassfish/glassfish3/glassfish/modules/antlr-repackaged.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 16 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.configadmin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 17 from /home/glassfish/glassfish3/glassfish/modules/web-embed-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 18 from /home/glassfish/glassfish3/glassfish/modules/console-jms-plugin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 19 from /home/glassfish/glassfish3/glassfish/modules/glassfish-mbeanserver.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 20 from /home/glassfish/glassfish3/glassfish/modules/deployment-admin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 21 from /home/glassfish/glassfish3/glassfish/modules/registration-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 22 from /home/glassfish/glassfish3/glassfish/modules/monitoring-core.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 23 from /home/glassfish/glassfish3/glassfish/modules/javax.servlet.jsp.jstl.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 24 from /home/glassfish/glassfish3/glassfish/modules/shoal-gms-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 25 from /home/glassfish/glassfish3/glassfish/modules/deployment-autodeploy.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 26 from /home/glassfish/glassfish3/glassfish/modules/gms-adapter.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 27 from /home/glassfish/glassfish3/glassfish/modules/console-jts-plugin-help.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 28 from /home/glassfish/glassfish3/glassfish/modules/admin-util.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 29 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.antlr.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 30 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.gogo.command.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 31 from /home/glassfish/glassfish3/glassfish/modules/jersey-json.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 32 from /home/glassfish/glassfish3/glassfish/modules/glassfish-ee-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 33 from /home/glassfish/glassfish3/glassfish/modules/shoal-gms-impl.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 34 from /home/glassfish/glassfish3/glassfish/modules/ejb-container.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 35 from /home/glassfish/glassfish3/glassfish/modules/jboss-logging.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 36 from /home/glassfish/glassfish3/glassfish/modules/console-cluster-plugin-help.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 37 from /home/glassfish/glassfish3/glassfish/modules/console-community-branding-plugin.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 38 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-newtimer.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 39 from /home/glassfish/glassfish3/glassfish/modules/javax.el-api.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 40 from /home/glassfish/glassfish3/glassfish/modules/webservices-connector.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 41 from /home/glassfish/glassfish3/glassfish/modules/metro-glue.jar
Nov 27, 2012 9:55:05 AM BundleProvisioner update
INFO: Updated bundle 42 from /home/glassfish/glassfish3/glassfish/modules/backup.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 43 from /home/glassfish/glassfish3/glassfish/modules/javax.resource.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 44 from /home/glassfish/glassfish3/glassfish/modules/orb-iiop.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 45 from /home/glassfish/glassfish3/glassfish/modules/connectors-inbound-runtime.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 46 from /home/glassfish/glassfish3/glassfish/modules/glassfish-naming.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 47 from /home/glassfish/glassfish3/glassfish/modules/jersey-gf-statsproviders.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 48 from /home/glassfish/glassfish3/glassfish/modules/webservices.security.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 49 from /home/glassfish/glassfish3/glassfish/modules/jersey-gf-server.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 50 from /home/glassfish/glassfish3/glassfish/modules/simple-glassfish-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 51 from /home/glassfish/glassfish3/glassfish/modules/jspcaching-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 52 from /home/glassfish/glassfish3/glassfish/modules/console-web-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 53 from /home/glassfish/glassfish3/glassfish/modules/jmxremote_optional-repackaged.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 54 from /home/glassfish/glassfish3/glassfish/modules/cmp-generator-database.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 55 from /home/glassfish/glassfish3/glassfish/modules/config.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 56 from /home/glassfish/glassfish3/glassfish/modules/appclient-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 57 from /home/glassfish/glassfish3/glassfish/modules/console-updatecenter-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 58 from /home/glassfish/glassfish3/glassfish/modules/console-common-full-plugin-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 59 from /home/glassfish/glassfish3/glassfish/modules/jsftemplating.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 60 from /home/glassfish/glassfish3/glassfish/modules/console-cluster-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 61 from /home/glassfish/glassfish3/glassfish/modules/deployment-javaee-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 62 from /home/glassfish/glassfish3/glassfish/modules/javaee-kernel.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 63 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-codegen.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 64 from /home/glassfish/glassfish3/glassfish/modules/cluster-ssh.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 65 from /home/glassfish/glassfish3/glassfish/modules/deployment-client.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 66 from /home/glassfish/glassfish3/glassfish/modules/javax.servlet.jsp.jstl-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 67 from /home/glassfish/glassfish3/glassfish/modules/jackson-jaxrs.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 68 from /home/glassfish/glassfish3/glassfish/modules/stats77.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 69 from /home/glassfish/glassfish3/glassfish/modules/grizzly-http.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 70 from /home/glassfish/glassfish3/glassfish/modules/ejb.security.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 71 from /home/glassfish/glassfish3/glassfish/modules/dbschema-repackaged.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 72 from /home/glassfish/glassfish3/glassfish/modules/glassfish-extra-jre-packages.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 73 from /home/glassfish/glassfish3/glassfish/modules/ha-file-store.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 74 from /home/glassfish/glassfish3/glassfish/modules/console-common-full-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 75 from /home/glassfish/glassfish3/glassfish/modules/gf-ejb-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 76 from /home/glassfish/glassfish3/glassfish/modules/glassfish-oracle-jdbc-driver-packages.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 77 from /home/glassfish/glassfish3/glassfish/modules/api-exporter.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 78 from /home/glassfish/glassfish3/glassfish/modules/web-cli.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 79 from /home/glassfish/glassfish3/glassfish/modules/cli-optional.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 80 from /home/glassfish/glassfish3/glassfish/modules/web-glue.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 81 from /home/glassfish/glassfish3/glassfish/modules/jpa-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 82 from /home/glassfish/glassfish3/glassfish/modules/javax.servlet-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 83 from /home/glassfish/glassfish3/glassfish/modules/gf-connectors-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 84 from /home/glassfish/glassfish3/glassfish/modules/jersey-client.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 85 from /home/glassfish/glassfish3/glassfish/modules/cluster-admin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 86 from /home/glassfish/glassfish3/glassfish/modules/bean-validator.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 87 from /home/glassfish/glassfish3/glassfish/modules/web-ha.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 88 from /home/glassfish/glassfish3/glassfish/modules/orb-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 89 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.shell.remote.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 90 from /home/glassfish/glassfish3/glassfish/modules/jaxb-osgi.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 91 from /home/glassfish/glassfish3/glassfish/modules/grizzly-container.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 92 from /home/glassfish/glassfish3/glassfish/modules/ha-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 93 from /home/glassfish/glassfish3/glassfish/modules/glassfish.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 94 from /home/glassfish/glassfish3/glassfish/modules/console-jms-plugin-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 95 from /home/glassfish/glassfish3/glassfish/modules/jersey-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 96 from /home/glassfish/glassfish3/glassfish/modules/gmbal.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 97 from /home/glassfish/glassfish3/glassfish/modules/scattered-archive-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 98 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-asm.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 99 from /home/glassfish/glassfish3/glassfish/modules/server-mgmt.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 100 from /home/glassfish/glassfish3/glassfish/modules/connectors-runtime.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 101 from /home/glassfish/glassfish3/glassfish/modules/jms-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 102 from /home/glassfish/glassfish3/glassfish/modules/cmp-internal-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 103 from /home/glassfish/glassfish3/glassfish/modules/work-management.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 104 from /home/glassfish/glassfish3/glassfish/modules/config-types.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 105 from /home/glassfish/glassfish3/glassfish/modules/management-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 106 from /home/glassfish/glassfish3/glassfish/modules/cmp-ejb-mapping.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 107 from /home/glassfish/glassfish3/glassfish/modules/pkg-client.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 108 from /home/glassfish/glassfish3/glassfish/modules/cmp-utility.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 109 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-omgapi.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 110 from /home/glassfish/glassfish3/glassfish/modules/console-corba-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 111 from /home/glassfish/glassfish3/glassfish/modules/console-common.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 112 from /home/glassfish/glassfish3/glassfish/modules/cmp-support-sqlstore.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 113 from /home/glassfish/glassfish3/glassfish/modules/console-ejb-lite-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 114 from /home/glassfish/glassfish3/glassfish/modules/deployment-common.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 115 from /home/glassfish/glassfish3/glassfish/modules/ant.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 116 from /home/glassfish/glassfish3/glassfish/modules/flashlight-framework.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 117 from /home/glassfish/glassfish3/glassfish/modules/transaction-internal-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 118 from /home/glassfish/glassfish3/glassfish/modules/osgi-jpa-extension.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 119 from /home/glassfish/glassfish3/glassfish/modules/libpam4j-repackaged.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 120 from /home/glassfish/glassfish3/glassfish/modules/jstl-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 121 from /home/glassfish/glassfish3/glassfish/modules/javax.security.auth.message.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 122 from /home/glassfish/glassfish3/glassfish/modules/config-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 123 from /home/glassfish/glassfish3/glassfish/modules/branding.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 124 from /home/glassfish/glassfish3/glassfish/modules/launcher.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 125 from /home/glassfish/glassfish3/glassfish/modules/web-embed-impl.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 126 from /home/glassfish/glassfish3/glassfish/modules/javax.servlet.jsp.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 127 from /home/glassfish/glassfish3/glassfish/modules/grizzly-rcm.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 128 from /home/glassfish/glassfish3/glassfish/modules/logging.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 129 from /home/glassfish/glassfish3/glassfish/modules/gf-client-module.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 130 from /home/glassfish/glassfish3/glassfish/modules/internal-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 131 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.fileinstall.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 132 from /home/glassfish/glassfish3/glassfish/modules/javax.el.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 133 from /home/glassfish/glassfish3/glassfish/modules/grizzly-websockets.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 134 from /home/glassfish/glassfish3/glassfish/modules/console-ejb-lite-plugin-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 135 from /home/glassfish/glassfish3/glassfish/modules/weld-integration.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 136 from /home/glassfish/glassfish3/glassfish/modules/console-common-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 137 from /home/glassfish/glassfish3/glassfish/modules/flashlight-extra-jdk-packages.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 138 from /home/glassfish/glassfish3/glassfish/modules/grizzly-utils.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 139 from /home/glassfish/glassfish3/glassfish/modules/weld-osgi-bundle.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 140 from /home/glassfish/glassfish3/glassfish/modules/console-jca-plugin.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 141 from /home/glassfish/glassfish3/glassfish/modules/mimepull.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 142 from /home/glassfish/glassfish3/glassfish/modules/dol.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 143 from /home/glassfish/glassfish3/glassfish/modules/jackson-core-asl.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 144 from /home/glassfish/glassfish3/glassfish/modules/jersey-moxy.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 145 from /home/glassfish/glassfish3/glassfish/modules/gf-web-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 146 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.gogo.shell.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 147 from /home/glassfish/glassfish3/glassfish/modules/ldapbp-repackaged.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 148 from /home/glassfish/glassfish3/glassfish/modules/annotation-framework.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 149 from /home/glassfish/glassfish3/glassfish/modules/admin-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 150 from /home/glassfish/glassfish3/glassfish/modules/console-web-plugin-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 151 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.moxy.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 152 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-orbgeneric.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 153 from /home/glassfish/glassfish3/glassfish/modules/shoal-cache.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 154 from /home/glassfish/glassfish3/glassfish/modules/javax.security.jacc.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 155 from /home/glassfish/glassfish3/glassfish/modules/jts.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 156 from /home/glassfish/glassfish3/glassfish/modules/appclient-server-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 157 from /home/glassfish/glassfish3/glassfish/modules/cluster-cli.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 158 from /home/glassfish/glassfish3/glassfish/modules/war-util.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 159 from /home/glassfish/glassfish3/glassfish/modules/ha-shoal-cache-bootstrap.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 160 from /home/glassfish/glassfish3/glassfish/modules/soap-tcp.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 161 from /home/glassfish/glassfish3/glassfish/modules/grizzly-http-servlet.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 162 from /home/glassfish/glassfish3/glassfish/modules/ssl-impl.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 163 from /home/glassfish/glassfish3/glassfish/modules/jaxr-api-osgi.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 164 from /home/glassfish/glassfish3/glassfish/modules/glassfish-registration.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 165 from /home/glassfish/glassfish3/glassfish/modules/grizzly-config.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 166 from /home/glassfish/glassfish3/glassfish/modules/console-ejb-plugin-help.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 167 from /home/glassfish/glassfish3/glassfish/modules/javax.jms.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 168 from /home/glassfish/glassfish3/glassfish/modules/osgi-resource-locator.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 169 from /home/glassfish/glassfish3/glassfish/modules/appclient.security.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 170 from /home/glassfish/glassfish3/glassfish/modules/webservices-osgi.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 171 from /home/glassfish/glassfish3/glassfish/modules/javax.persistence.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 172 from /home/glassfish/glassfish3/glassfish/modules/javax.faces.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 173 from /home/glassfish/glassfish3/glassfish/modules/admin-cli.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 174 from /home/glassfish/glassfish3/glassfish/modules/amx-all.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 175 from /home/glassfish/glassfish3/glassfish/modules/glassfish-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 176 from /home/glassfish/glassfish3/glassfish/modules/jettison.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 177 from /home/glassfish/glassfish3/glassfish/modules/jsf-connector.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 178 from /home/glassfish/glassfish3/glassfish/modules/grizzly-portunif.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 179 from /home/glassfish/glassfish3/glassfish/modules/trilead-ssh2-repackaged.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 180 from /home/glassfish/glassfish3/glassfish/modules/jersey-multipart.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 181 from /home/glassfish/glassfish3/glassfish/modules/ejb-internal-api.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 182 from /home/glassfish/glassfish3/glassfish/modules/hk2.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 183 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 184 from /home/glassfish/glassfish3/glassfish/modules/javax.mail.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 185 from /home/glassfish/glassfish3/glassfish/modules/deployment-javaee-full.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 186 from /home/glassfish/glassfish3/glassfish/modules/hk2-core.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 187 from /home/glassfish/glassfish3/glassfish/modules/rest-service.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 188 from /home/glassfish/glassfish3/glassfish/modules/orb-enabler.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 189 from /home/glassfish/glassfish3/glassfish/modules/registration-impl.jar
Nov 27, 2012 9:55:06 AM BundleProvisioner update
INFO: Updated bundle 190 from /home/glassfish/glassfish3/glassfish/modules/web-core.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 191 from /home/glassfish/glassfish3/glassfish/modules/javax.servlet.jsp-api.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 192 from /home/glassfish/glassfish3/glassfish/modules/web-naming.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 193 from /home/glassfish/glassfish3/glassfish/modules/javax.enterprise.deploy.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 194 from /home/glassfish/glassfish3/glassfish/modules/auto-depends.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 195 from /home/glassfish/glassfish3/glassfish/modules/console-jts-plugin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 196 from /home/glassfish/glassfish3/glassfish/modules/jersey-gf-servlet.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 197 from /home/glassfish/glassfish3/glassfish/modules/connectors-admin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 198 from /home/glassfish/glassfish3/glassfish/modules/jaxrpc-api-osgi.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 199 from /home/glassfish/glassfish3/glassfish/modules/console-jca-plugin-help.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 200 from /home/glassfish/glassfish3/glassfish/modules/osgi-adapter.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 201 from /home/glassfish/glassfish3/glassfish/modules/cmp-support-ejb.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 202 from /home/glassfish/glassfish3/glassfish/modules/console-plugin-service.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 203 from /home/glassfish/glassfish3/glassfish/modules/common-util.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 204 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.oracle.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 205 from /home/glassfish/glassfish3/glassfish/modules/jackson-mapper-asl.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 206 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.asm.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 207 from /home/glassfish/glassfish3/glassfish/modules/console-ejb-plugin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 208 from /home/glassfish/glassfish3/glassfish/modules/jackson-xc.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 209 from /home/glassfish/glassfish3/glassfish/modules/osgi-container.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 210 from /home/glassfish/glassfish3/glassfish/modules/javax.management.j2ee.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 211 from /home/glassfish/glassfish3/glassfish/modules/websecurity.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 212 from /home/glassfish/glassfish3/glassfish/modules/console-jdbc-plugin-help.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 213 from /home/glassfish/glassfish3/glassfish/modules/cluster-common.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 214 from /home/glassfish/glassfish3/glassfish/modules/jta.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 215 from /home/glassfish/glassfish3/glassfish/modules/console-corba-plugin-help.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 216 from /home/glassfish/glassfish3/glassfish/modules/grizzly-lzma.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 217 from /home/glassfish/glassfish3/glassfish/modules/ha-shoal-cache-store.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 218 from /home/glassfish/glassfish3/glassfish/modules/kernel.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 219 from /home/glassfish/glassfish3/glassfish/modules/glassfish-corba-orb.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 220 from /home/glassfish/glassfish3/glassfish/modules/javax.ejb.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 221 from /home/glassfish/glassfish3/glassfish/modules/grizzly-comet.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 222 from /home/glassfish/glassfish3/glassfish/modules/grizzly-framework.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 223 from /home/glassfish/glassfish3/glassfish/modules/acc-config.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 224 from /home/glassfish/glassfish3/glassfish/modules/inmemory.jacc.provider.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 225 from /home/glassfish/glassfish3/glassfish/modules/security.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 226 from /home/glassfish/glassfish3/glassfish/modules/asm-all-repackaged.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 227 from /home/glassfish/glassfish3/glassfish/modules/persistence-common.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 228 from /home/glassfish/glassfish3/glassfish/modules/cmp-enhancer.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 229 from /home/glassfish/glassfish3/glassfish/modules/javax.transaction.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 230 from /home/glassfish/glassfish3/glassfish/modules/web-gui-plugin-common.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 231 from /home/glassfish/glassfish3/glassfish/modules/load-balancer-admin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 232 from /home/glassfish/glassfish3/glassfish/modules/jsr109-impl.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 233 from /home/glassfish/glassfish3/glassfish/modules/connectors-internal-api.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 234 from /home/glassfish/glassfish3/glassfish/modules/gms-bootstrap.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 235 from /home/glassfish/glassfish3/glassfish/modules/grizzly-http-ajp.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 236 from /home/glassfish/glassfish3/glassfish/modules/org.eclipse.persistence.jpa.modelgen.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 237 from /home/glassfish/glassfish3/glassfish/modules/org.apache.felix.gogo.runtime.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 238 from /home/glassfish/glassfish3/glassfish/modules/dataprovider.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 239 from /home/glassfish/glassfish3/glassfish/modules/stax2-api.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 240 from /home/glassfish/glassfish3/glassfish/modules/console-jdbc-plugin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 241 from /home/glassfish/glassfish3/glassfish/modules/schema2beans-repackaged.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 242 from /home/glassfish/glassfish3/glassfish/modules/cmp-model.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 243 from /home/glassfish/glassfish3/glassfish/modules/j-interop-repackaged.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 244 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-web-container.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 245 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-jdbc.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 246 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-jta.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 247 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-http.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 248 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-cdi.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 249 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-javaee-base.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 250 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-ejb-container.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 251 from /home/glassfish/glassfish3/glassfish/modules/autostart/org.apache.felix.scr.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 252 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-ee-resources.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 253 from /home/glassfish/glassfish3/glassfish/modules/autostart/org.apache.felix.eventadmin.jar
Nov 27, 2012 9:55:07 AM BundleProvisioner update
INFO: Updated bundle 254 from /home/glassfish/glassfish3/glassfish/modules/autostart/osgi-jpa.jar
Nov 27, 2012 9:55:07 AM OSGiFrameworkLauncher launchOSGiFrameWork
INFO: Updating system bundle
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: org.glassfish.embeddable.GlassFishException: java.lang.IllegalStateException: Bundle in unexpected state.
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:164)
at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime.java:157)
at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.java:110)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:112)
... 6 more
Caused by: java.lang.IllegalStateException: Bundle in unexpected state.
at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:4856)
at org.apache.felix.framework.Felix.start(Felix.java:809)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:157)
... 9 more
Error stopping framework: java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher$1.run(GlassFishMain.java:203)

Command start-domain failed.

Have discovered that the OSGI cache must be wiped on each reload of the server including first run, e.g:

[glassfish@glassfish001 ~]$ rm -rf glassfish/glassfish/domains/domain1/osgi-cache/*
[glassfish@glassfish001 ~]$ glassfish/bin/asadmin start-domain domain1
Waiting for domain1 to start ...........
Successfully started the domain : domain1
domain Location: /home/glassfish/glassfish3/glassfish/domains/domain1
Log File: /home/glassfish/glassfish3/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

If the domain is restarted, Glassfish will again crash until cache is wiped.
Have discovered that renaming 'updatetool' avoids all the above issues at the expense of updating Glassfish:

[glassfish@glassfish001 ~]$ mv glassfish3/bin/updatetool glassfish3/bin/updatetool.old
[glassfish@glassfish001 ~]$ ls glassfish/bin/
asadmin asadmin.bat pkg pkg.bat updatetool.bat updatetool.old
[glassfish@glassfish001 ~]$ glassfish/bin/asadmin stop-domain domain1
Waiting for the domain to stop ......
Command stop-domain executed successfully.
[glassfish@glassfish001 ~]$ glassfish/bin/asadmin start-domain domain1
Waiting for domain1 to start ..........
Successfully started the domain : domain1
domain Location: /home/glassfish/glassfish3/glassfish/domains/domain1
Log File: /home/glassfish/glassfish3/glassfish/domains/domain1/logs/server.log
Admin Port: 4848

Versions affected: Glassfish Community Server 3.1.2 and 3.1.2.2
OS: CentOS 6.3
JDK: Locally installed JDK 1.7u3, system-wide OpenJDK 1.6.0

Steps to reproduce:
1. Use Glassfish CE 3.1.2 ZIP redistributable, unzipped to a user's home directory
2. Install system-wide or local JDK, set JAVA_HOME and PATH accordingly
3. Use asadmin to start domain as above.

Further information:
Same unzipped folder works on RHEL 5.6, tested by SCPing from RHEL server to CentOS. Attempting to start domain failed in same way as above.






[GLASSFISH-19400] Glassfish Domain Ondemand Starting Created: 04/Dec/12  Updated: 05/Dec/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: future release
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

This is a big feature and improvement on GF's kernel.
Currently, after starting gf's domain, all bundles in ${com.sun.aas.installRootURI}modules/ will be installed into felix cache.

Although there is a flag which indicates whether on-demand provisioning, on-demand true means is to only install minimize and reqired set of bundles, then using provisioning tool(eg. felix obr) is to provisioning bundles and dependencies dynamiclly.

Once implementing the feature, glassfish's starting performance and memory consuming will be improved greatly.

In order to attain the goal, we need to do some experiments and tasks.

1) GLASSFISH-19395
2) defining which modules consist of minimize and reqired set while starting domain
3) GLASSFISH-19146



 Comments   
Comment by TangYong [ 04/Dec/12 02:24 PM ]

I have a initial design about gf on-demand starting as following:

1 divide gf's modules into a set of subsystem[1]
[1]: the means of subsystem is similar to jboss 7's subsystem or apache karaf's feature. The following is one of imaginary gf's subsystem,

<subsystems xmlns="http://glassfish.java.net/xmlns/subsystems/v1.0">
<subsystem name="webcontainer" version="4.0.0.0">
<module startlevel="XX" start=false>org.glassfish.web.web-glue</module>
<module>...</module>
...
</subsystem>
</subsystems>

Just as the above showing, we define a subsystem called "webcontainer" which is made up of some modules under modules directory[2]. We also define these modules's startlevel in order to start module correctly.

[2]: modules which consist of subsystems of gf should also include "autostat" or other directories apart from "modules".

In order to define a subsystem of gf, we need to define which modules consist of the subsystem correctly.

Then, I start to say why we need to define such subsystems for glassfish and it can bring us which advantages.

Once glassfish started in an on-demand way which only install and start a minimize and reqired set of modules, we will face a problem that how we can activate other modules?

There are two ways:
1) using asadmin deploy command
For example, when we use "asadmin deploy --type=ejb ...", we wish that ejb container(or modules which implements EJB 3.2 spec) can be installed(or provisioning) automaticlly using OBR. If having such a subsystem which clearly defines modules implementing EJB 3.2 spec, we can scan the subsystem definition according to the xml file, then use OBR to install these modules and their dependencies. As to how to start ejb container on-demand, this has been done by HK2 [3].

[3]: as for gf's container starting, hk2 layer along with osgi-adapter can resolve service dependencies and start dependent modules on-demand. However, for some scenes in which we must start some modules ahead of time, we need to define whether module starts in subsystem definition, this is why we define a property called "start=XXX",

<module startlevel="XX" start=false>org.glassfish.web.web-glue</module>

2) creating new command simliar "asadmin install-subsystem XXX"
This will install some subsystem using command.

2 defining which modules consist of minimize and reqired modules while starting domain
Basiclly, according to my understanding, considering the following:
1) modules/endorsed/
2) modules/osgi-resource-locator.jar
3) hk2.bundles
4) obr.bundles
5) modules/glassfish.jar
6) Admin related modules(needing to investigate)

3 enhancing "asadmin deploy --type " in order to support subsystem activation
I have said the point in 1.

[Experiment]
As a experiment, I will build a subsystem called "osgi-javaee" which basiclly is made up of modules under "autostat", then, enhancing "asadmin deploy --type=osgi"





[GLASSFISH-19542] Out of the box OSGi JPA support as per the 4.3 Compendium Specification Created: 16/Jan/13  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: entity-persistence, OSGi, OSGi-JavaEE
Affects Version/s: 4.0_b70
Fix Version/s: future release

Type: New Feature Priority: Major
Reporter: aaronjwhiteside Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: aaronjwhiteside, Mitesh Meswani, mkeith and Sanjeeb Sahoo

 Description   

Out of the box OSGi JPA support as per the 4.3 Compendium Specification (http://www.osgi.org/download/r4v43/osgi.cmpn-4.3.0.pdf).

The upcoming release of JBoss 7.2 will have full native support for JPA in OSGi as per the 4.3 Compendium Specification.

Glassfish 4.0 should come with support out of the box.

I would recommend against using Gemini JPA as it's not really maintained (check the last release date) and does not provide support for JTA transactions or looking up JTA data sources.



 Comments   
Comment by Mitesh Meswani [ 16/Jan/13 07:48 PM ]

Assigning to Sahoo...

Comment by mkeith [ 17/Jan/13 02:45 PM ]

OSGi JPA support, as per the OSGi 4.3 Compendium Spec, does NOT include support for JTA transactions.

Many people have found Gemini JPA to be the best point OSGi JPA solution, in the spirit of what OSGi JPA tried to accomplish. In fact, there are very few actual bugs; the ones that are there are generally feature requests. The last 1.1 release included some advanced features that no other solution provides.

I also have to take issue with your incorrect statement that Gemini JPA is "not really maintained". 1.1 was released on Nov 15, 2012, only 2 months ago! The next one will be released in the June time frame.

Comment by aaronjwhiteside [ 17/Jan/13 03:22 PM ]

I understand the spec does not include support for JTA, I forgot to mention that this is an important feature for me.

I apologize for my incorrect statement, I swear I checked the release date and thought I saw that 1.1 was in 2010.

I think I am tainted by my previous experience with it, about a year ago with Glassfish 3.1.2, it just didn't work.

And if everyone thinks this is the best option, I still think it should be bundled with Glassfish 4.0.





[GLASSFISH-19775] Upgrading fighterfish test framework to use pax exam 3.0 Created: 06/Mar/13  Updated: 11/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: 4.0.1
Fix Version/s: None

Type: Task Priority: Major
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

Pax Exam has released 3.0.0 and in the release, Pax Exam has made a big change on API.

Currently fighterfish test framework uses pax exam 2.x and I think that it is time for fighterfish test framework to upgrade pax exam into 3.0, and at the same time, I found that there are some redundant setting and classes and maybe fighterfish test related classes need to be refactored properly.

In addition, maybe needing to create some sub-tasks to finish the task.



 Comments   
Comment by Sanjeeb Sahoo [ 11/Mar/13 11:28 AM ]

Deferring to 4.0.1





[GLASSFISH-19817] [regression] GlassFish fails to start on Knopflerfish Created: 11/Mar/13  Updated: 12/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b79
Fix Version/s: 4.0.1

Type: Bug Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo

 Description   

We have to find out since when it has started happening. More details will be added here.

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:54)
Caused by: A MultiException has 2 exceptions. They are:
1. com.sun.enterprise.module.ResolveError: Failed to start OSGiModuleImpl:: Bundle = [BundleImpl[id=124]], State = [NEW]
2. java.lang.IllegalStateException: Could not load descriptor SystemDescriptor(
implementation=org.glassfish.jdbc.config.JdbcResourceInjector
name=jdbc-resource
contracts={org.glassfish.jdbc.config.JdbcResourceInjector,org.jvnet.hk2.config.ConfigInjector}
scope=javax.inject.Singleton
qualifiers={org.jvnet.hk2.config.InjectionTarget}
descriptorType=CLASS
descriptorVisibility=NORMAL
metadata=target={org.glassfish.jdbc.config.JdbcResource},@pool-name={optional,datatype\:java.lang.String,leaf,optional,datatype\:java.lang.String,leaf},@enabled={optional,default\:true,datatype\:java.lang.Boolean,leaf,optional,default\:true,datatype\:java.lang.Boolean,leaf},@description={optional,datatype\:java.lang.String,leaf},<property>={collection\:org.jvnet.hk2.config.types.Property,collection\:org.jvnet.hk2.config.types.Property},@jndi-name={optional,datatype:java.lang.String,leaf}},key={@jndi-name},keyed-as={com.sun.enterprise.config.serverbeans.BindableResource},@object-type={optional,default\:user,datatype\:java.lang.String,leaf},@deployment-order={optional,default\:100,datatype\:java.lang.Integer,leaf},Bundle-SymbolicName={org.glassfish.main.jdbc.config},Bundle-Version={4.0.0.SNAPSHOT}
rank=0
loader=OsgiPopulatorPostProcessor.HK2Loader(OSGiModuleImpl:: Bundle = [BundleImpl[id=124]], State = [NEW],461376)
proxiable=null
analysisName=null
id=785
locatorId=0
identityHashCode=3281047
reified=false)

at org.jvnet.hk2.internal.Collector.throwIfErrors(Collector.java:84)
at org.jvnet.hk2.internal.Utilities.handleErrors(Utilities.java:402)
at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:948)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:1147)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:1136)
at org.jvnet.hk2.config.DomDocument.getModelByElementName(DomDocument.java:156)
at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:164)
at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:231)
at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:238)
at org.jvnet.hk2.config.ConfigParser.handleElement(ConfigParser.java:190)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:100)
at org.jvnet.hk2.config.ConfigParser.parse(ConfigParser.java:94)
at org.glassfish.config.support.DomainXml.parseDomainXml(DomainXml.java:259)
at org.glassfish.config.support.DomainXml.run(DomainXml.java:117)
at org.jvnet.hk2.config.ConfigurationPopulator.populateConfig(ConfigurationPopulator.java:58)
at org.glassfish.hk2.bootstrap.HK2Populator.populateConfig(HK2Populator.java:158)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.populateConfig(AbstractModulesRegistryImpl.java:211)
at com.sun.enterprise.module.bootstrap.Main.createServiceLocator(Main.java:273)
at org.jvnet.hk2.osgiadapter.HK2Main.createServiceLocator(HK2Main.java:120)
at com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime.newGlassFish(EmbeddedOSGiGlassFishRuntime.java:95)
at com.sun.enterprise.glassfish.bootstrap.GlassFishRuntimeDecorator.newGlassFish(GlassFishRuntimeDecorator.java:68)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntime.newGlassFish(OSGiGlassFishRuntime.java:88)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:113)
... 6 more
Caused by: com.sun.enterprise.module.ResolveError: Failed to start OSGiModuleImpl:: Bundle = [BundleImpl[id=124]], State = [NEW]
at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:223)
at org.jvnet.hk2.osgiadapter.OsgiPopulatorPostProcessor$1.loadClass(OsgiPopulatorPostProcessor.java:77)
at org.jvnet.hk2.internal.ServiceLocatorImpl.loadClass(ServiceLocatorImpl.java:1642)
at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:364)
at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:1697)
at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:901)
... 26 more
Caused by: org.osgi.framework.BundleException: Unable to resolve bundle: missing package(s) or can not resolve all of the them: org.glassfish.connectors.config.validators;version=[4.0.0,5.0.0)
at org.knopflerfish.framework.BundleImpl.getUpdatedState(BundleImpl.java:1152)
at org.knopflerfish.framework.BundleImpl.finalizeActivation(BundleImpl.java:286)
at org.knopflerfish.framework.PermissionOps.callFinalizeActivation(PermissionOps.java:227)
at org.knopflerfish.framework.BundleImpl.start(BundleImpl.java:269)
at org.jvnet.hk2.osgiadapter.OSGiModuleImpl.start(OSGiModuleImpl.java:215)
... 31 more
^CThe DAS was stopped.



 Comments   
Comment by Sanjeeb Sahoo [ 11/Mar/13 02:18 PM ]

I tracked this regression down to svn #59843 where a new version of javax.transaction-api.jar was integrated. This bundle started requiring system.bundle and Knopflerfish is not able to resolve the generic name of system bundle. I have filed following bug against knopflerfish:

http://sourceforge.net/p/gatespace/bugs/172/

Although I am able to work around this by making dependency on system.bundle optional and then depending on framework specific name of system bundle as shown below:

Require-Bundle: system.bundle; resolution:=optional,org.knopflerfish.framework;resolution:=optional

I am now running into yet another issue which I reported to them:

https://sourceforge.net/p/gatespace/bugs/173/

So, at this point, I am going to assume that we have to wait for Knopflerfish to fix these issues for us before we can proceed.

Comment by Sanjeeb Sahoo [ 12/Mar/13 06:44 AM ]

See previous comment - we are dependent on knopflerfish.





[GLASSFISH-19979] OSGi Console Requests Basic Login even if Server is Running with No Password Created: 21/Mar/13  Updated: 26/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b79
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: myfear Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GlassFish Server Open Source Edition 4.0 (build 80)


Tags: fishcat
Participants: Anissa Lam, myfear, Sanjeeb Sahoo and TangYong

 Description   

Click on server(Admin Server)
Click on OSGi Console

Basic Auth Challenge:

"A username and password are being requested by http://localhost:8080. The site says: "GlassFish Server""

Server is running with no password.



 Comments   
Comment by TangYong [ 21/Mar/13 05:35 AM ]

Sahoo, Anissa,

In current trunk, OSGi Console has been removed from admin-gui, and that is to say, while clicking on server(Admin Server), "OSGi Console" does not exist.

So, for FishCat testing, whether the issue is valid or not?

If being invalid, whether needing to make an more clear description for FishCat testers about using which versions and which features needs to be tested?

Thanks
--Tang

Comment by Anissa Lam [ 25/Mar/13 03:06 PM ]

I am not aware of any plan of integrating OSGi console to admin console for GlassFish 4.0.
Transfer to Sahoo

Comment by Sanjeeb Sahoo [ 25/Mar/13 03:17 PM ]

Tang,

I don't understand what you mean by "In current trunk, OSGi Console has been removed from admin-gui." OSGi console extension was never part of default distribution in previous releases. It was always distributed via update centre as an extension.

The issue is valid, but I don't know how to fix. May be Anissa can tell us how they fix the login issue in admin console. Do they attempt to login without password when the first request is made?

Anyway, I am defering this issue to future release. It's not very important to be fixed in 4.0.

Sahoo

Comment by TangYong [ 26/Mar/13 01:32 AM ]

Sahoo

Maybe I have made a mistake that I saw the "OSGi Console" in my env because previously I downloaded OSGi Console from update center. So, I said "current ....".

Just as you said, the issue is not important for 4.0 release.

Tang

Comment by Sanjeeb Sahoo [ 26/Mar/13 08:11 AM ]

The behavior of the GlassFish when there is only one administrative user in the system is explained in [1] like this:

If the domain contains exactly one valid administrative account, then GlassFish considers that account to be the default admin account. If at any time there are at least two admin accounts, GlassFish treats no admin account as the default.

When you install GlassFish or create a new domain, GlassFish creates a default admin account, with default username "admin" and an empty default password. So suppose you have just installed GlassFish. If you send an admin request to the DAS with no username, the DAS will act as if your request had actually specified "admin" for the username. Specifying no password is equivalent to giving an empty password - which conveniently is the password for the out-of-the-box default admin account.

All this means that you can run asadmin commands – or use the admin console or submit REST requests – without having to specify an admin username or password. This is consistent with past releases of GlassFish.

So, we can try something like this in our Felix WebConsole Extension where we have implemented the security feature of OSGi console. We can try asking the system for default user name and use that along with an empty password. If we fail, we can prompt user with a password.

Anyway, we shall attempt it in a future release.

[1] https://blogs.oracle.com/quinn/entry/securing_adminstration_in_glassfish_server

Comment by TangYong [ 26/Mar/13 08:31 AM ]

Assigned to me to implement the issue in the future release.





Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement (GLASSFISH-19395)

[GLASSFISH-20486] missing a mapping scene where some classes will be advertised as itself and by any interfaces that are marked with @Contract Created: 08/May/13  Updated: 08/May/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: TangYong

 Description   

currently, org.glassfish.main.glassfish-obr-builder experimental module missed a mapping scene where some classes will be advertised as itself and by any interfaces that are marked with @Contract.

Eg.

@Contract
public interface Foo {
}

@Service
public class FooImpl implements Foo {
}

The FooImpl class will be placed into the registry advertised under both FooImpl and Foo.

Also needing to consider interface apart from class itself.






Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement (GLASSFISH-19395)

[GLASSFISH-20487] needing to consider constructor injection Created: 08/May/13  Updated: 08/May/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: TangYong

 Description   

needing to consider constructor injection.

Eg.

@Service
public class FooImpl implements Foo {
private final Book book;

@Inject
public FooImpl(Book book) { // constructor injected! this.book = book; }
}






Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement (GLASSFISH-19395)

[GLASSFISH-20488] needing to consider initializer method injection Created: 08/May/13  Updated: 08/May/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: TangYong

 Description   

needing to consider initializer method injection.

Eg.

@Service
public class FooImpl implements Foo {
private Book book;

@Inject
public void setBook(Book book) { // initializer method injected! this.book = book; }
}






Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement (GLASSFISH-19395)

[GLASSFISH-20490] needing to consider org.glassfish.hk2.api.Factory mapping Created: 08/May/13  Updated: 08/May/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: TangYong

 Description   

needing to consider org.glassfish.hk2.api.Factory mapping. This is a litter similar to jsr330 Provider injection.

Eg.

@Service
public class OsInterfaceFactory implements Factory<OsInterface> { ... }

@Service(name="ubuntu")
public class Ubuntu implements OsInterface { ... }
}

In this scene, we must analyze OsInterfaceFactory class and find the interface(OsInterface) from Factory, then, adding import-service capability of OsInterfaceFactory class for OsInterface.






[GLASSFISH-20947] GlassFish could not start if computer's time is set to long before. Created: 09/Jan/14  Updated: 09/Jan/14

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: future release
Fix Version/s: None

Type: Bug Priority: Major
Reporter: hapinwater Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows, GlassFish 3.1.2, Felix.


Tags:
Participants: hapinwater and Sanjeeb Sahoo

 Description   

GlassFish could not start if computer's time is set to long before:
1.Install a glassfish(version:3.1.2) on a computer, create a domain domain1.
2.Set computer time to long before current date, such as 1999.10.12 12:30:59
3.Manually delete osgi-cache directory GLASSFISH_HOME\domains\domain1\osgi-cache
4.Then use asadmin to start domain1, start failured and an Exception throws by Felix
OSGi framework.

This exception will occur if the last modifed time of all file under GLASSFISH_HOME\domains\domain1\osgi-cache is eariler than bunle jar stores in GLASSFISH_HOME\modules.In this situation, all osgi bundle needed to be updated.

I download the source code, and find the class com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder's build method may have wrong logic to cause this exception, in step 1 threre exist 3 location cause Felix.update() to be called:
1) List<Long> bundleIds = bundleProvisioner.installBundles();
2) bundleProvisioner.refresh();
3) framework.update();
Felix.update() is an asynchronous call, which will use a thread to stop and then init/start the bundle, If multiple threads call Felix.update, an IllegalStateException will throw.
By the way, I switch OSGi framwork to equinox, this problem still exists.
public GlassFishRuntime build(BootstrapProperties bsProps) throws GlassFishException {
try {
MainHelper.buildStartupContext(bsProps.getProperties());
Properties properties = bsProps.getProperties();

// Set the builder name so that when we check for nonEmbedded() inside GlassFishMainActivator,
// we can identify the environment.
properties.setProperty(Constants.BUILDER_NAME_PROPERTY, getClass().getName());
// Step 0: Locate and launch a framework
long t0 = System.currentTimeMillis();
fwLauncher = new OSGiFrameworkLauncher(properties);
framework = fwLauncher.launchOSGiFrameWork();
long t1 = System.currentTimeMillis();
logger.logp(Level.FINE, "OSGiGlassFishRuntimeBuilder", "build", "Launched {0}", new Object[]{framework});

// Step 1: install/update/delete bundles
if (newFramework()) { storeProvisioningOptions(properties); } else { reconfigure(properties); // this will reconfigure if any provisioning options have changed. }
BundleProvisioner bundleProvisioner = BundleProvisioner.createBundleProvisioner(
framework.getBundleContext(), properties);
List<Long> bundleIds = bundleProvisioner.installBundles();

if (bundleProvisioner.hasAnyThingChanged()) { bundleProvisioner.refresh(); deleteHK2Cache(properties); // clean hk2 cache so that updated bundle details will go in there. // Save the bundle ids for use during restart. storeBundleIds(bundleIds.toArray(new Long[bundleIds.size()])); }
if (bundleProvisioner.isSystemBundleUpdationRequired()) { logger.log(Level.INFO, LogFacade.UPDATING_SYSTEM_BUNDLE); framework.update(); framework.waitForStop(0); framework.init(); bundleProvisioner.setBundleContext(framework.getBundleContext()); }

// Step 2: Start bundles
bundleProvisioner.startBundles();
long t2 = System.currentTimeMillis();

// Step 3: Start the framework, so bundles will get activated as per their start levels
framework.start();
long t3 = System.currentTimeMillis();
printStats(bundleProvisioner, t0, t1, t2, t3);

// Step 4: Obtain reference to GlassFishRuntime and return the same
return getGlassFishRuntime();
} catch (Exception e) { throw new GlassFishException(e); }
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Here are my glassfish's console output:
asadmin> start-domain
There is a process already using the admin port 4848 – it probably is another i
nstance of a GlassFish server.
Command start-domain failed.
asadmin> stop-domain
CLI306 Warning - The server located at E:\glassfish3\glassfish\domains\domain1 i
s not running.
Command stop-domain executed successfully.
asadmin> stop-domain
CLI306 Warning - The server located at E:\glassfish3\glassfish\domains\domain1 i
s not running.
Command stop-domain executed successfully.
asadmin> start-domain
Waiting for domain1 to start ............Error starting domain domain1.
The server exited prematurely with exit code 1.
Before it died, it produced the following output:

Launching GlassFish on Felix platform
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 1 from /E:/glassfish3/glassfish/modules/endorsed/javax.anno
tation.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 2 from /E:/glassfish3/glassfish/modules/endorsed/jaxb-api-o
sgi.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 3 from /E:/glassfish3/glassfish/modules/endorsed/webservice
s-api-osgi.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 4 from /E:/glassfish3/glassfish/modules/acc-config.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 5 from /E:/glassfish3/glassfish/modules/admin-cli.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 6 from /E:/glassfish3/glassfish/modules/admin-core.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 7 from /E:/glassfish3/glassfish/modules/admin-util.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 8 from /E:/glassfish3/glassfish/modules/amx-all.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 9 from /E:/glassfish3/glassfish/modules/annotation-framewor
k.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 10 from /E:/glassfish3/glassfish/modules/ant.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 11 from /E:/glassfish3/glassfish/modules/antlr-repackaged.j
ar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 12 from /E:/glassfish3/glassfish/modules/api-exporter.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 13 from /E:/glassfish3/glassfish/modules/appclient-connecto
r.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 14 from /E:/glassfish3/glassfish/modules/appclient-server-c
ore.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 15 from /E:/glassfish3/glassfish/modules/appclient.security
.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 16 from /E:/glassfish3/glassfish/modules/asm-all-repackaged
.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 17 from /E:/glassfish3/glassfish/modules/auto-depends.jar
2001-5-9 18:15:11 BundleProvisioner update
信息: Updated bundle 18 from /E:/glassfish3/glassfish/modules/backup.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 19 from /E:/glassfish3/glassfish/modules/bean-validator.jar

2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 20 from /E:/glassfish3/glassfish/modules/branding.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 21 from /E:/glassfish3/glassfish/modules/cli-optional.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 22 from /E:/glassfish3/glassfish/modules/cluster-admin.jar

2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 23 from /E:/glassfish3/glassfish/modules/cluster-cli.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 24 from /E:/glassfish3/glassfish/modules/cluster-common.jar

2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 25 from /E:/glassfish3/glassfish/modules/cluster-ssh.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 26 from /E:/glassfish3/glassfish/modules/cmp-ejb-mapping.ja
r
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 27 from /E:/glassfish3/glassfish/modules/cmp-enhancer.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 28 from /E:/glassfish3/glassfish/modules/cmp-generator-data
base.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 29 from /E:/glassfish3/glassfish/modules/cmp-internal-api.j
ar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 30 from /E:/glassfish3/glassfish/modules/cmp-model.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 31 from /E:/glassfish3/glassfish/modules/cmp-support-ejb.ja
r
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 32 from /E:/glassfish3/glassfish/modules/cmp-support-sqlsto
re.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 33 from /E:/glassfish3/glassfish/modules/cmp-utility.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 34 from /E:/glassfish3/glassfish/modules/common-util.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 35 from /E:/glassfish3/glassfish/modules/config-api.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 36 from /E:/glassfish3/glassfish/modules/config-types.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 37 from /E:/glassfish3/glassfish/modules/config.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 38 from /E:/glassfish3/glassfish/modules/connectors-admin.j
ar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 39 from /E:/glassfish3/glassfish/modules/connectors-inbound
-runtime.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 40 from /E:/glassfish3/glassfish/modules/connectors-interna
l-api.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 41 from /E:/glassfish3/glassfish/modules/connectors-runtime
.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 42 from /E:/glassfish3/glassfish/modules/console-cluster-pl
ugin-help.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 43 from /E:/glassfish3/glassfish/modules/console-cluster-pl
ugin.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 44 from /E:/glassfish3/glassfish/modules/console-common-ful
l-plugin-help.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 45 from /E:/glassfish3/glassfish/modules/console-common-ful
l-plugin.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 46 from /E:/glassfish3/glassfish/modules/console-common-hel
p.jar
2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 47 from /E:/glassfish3/glassfish/modules/console-common.jar

2001-5-9 18:15:12 BundleProvisioner update
信息: Updated bundle 48 from /E:/glassfish3/glassfish/modules/console-community-
branding-plugin.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 49 from /E:/glassfish3/glassfish/modules/console-corba-plug
in-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 50 from /E:/glassfish3/glassfish/modules/console-corba-plug
in.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 51 from /E:/glassfish3/glassfish/modules/console-ejb-lite-p
lugin-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 52 from /E:/glassfish3/glassfish/modules/console-ejb-lite-p
lugin.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 53 from /E:/glassfish3/glassfish/modules/console-ejb-plugin
-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 54 from /E:/glassfish3/glassfish/modules/console-ejb-plugin
.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 55 from /E:/glassfish3/glassfish/modules/console-jca-plugin
-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 56 from /E:/glassfish3/glassfish/modules/console-jca-plugin
.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 57 from /E:/glassfish3/glassfish/modules/console-jdbc-plugi
n-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 58 from /E:/glassfish3/glassfish/modules/console-jdbc-plugi
n.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 59 from /E:/glassfish3/glassfish/modules/console-jms-plugin
-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 60 from /E:/glassfish3/glassfish/modules/console-jms-plugin
.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 61 from /E:/glassfish3/glassfish/modules/console-jts-plugin
-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 62 from /E:/glassfish3/glassfish/modules/console-jts-plugin
.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 63 from /E:/glassfish3/glassfish/modules/console-plugin-ser
vice.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 64 from /E:/glassfish3/glassfish/modules/console-updatecent
er-plugin.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 65 from /E:/glassfish3/glassfish/modules/console-web-plugin
-help.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 66 from /E:/glassfish3/glassfish/modules/console-web-plugin
.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 67 from /E:/glassfish3/glassfish/modules/container-common.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 68 from /E:/glassfish3/glassfish/modules/dataprovider.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 69 from /E:/glassfish3/glassfish/modules/dbschema-repackage
d.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 70 from /E:/glassfish3/glassfish/modules/deployment-admin.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 71 from /E:/glassfish3/glassfish/modules/deployment-autodep
loy.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 72 from /E:/glassfish3/glassfish/modules/deployment-client.
jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 73 from /E:/glassfish3/glassfish/modules/deployment-common.
jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 74 from /E:/glassfish3/glassfish/modules/deployment-javaee-
core.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 75 from /E:/glassfish3/glassfish/modules/deployment-javaee-
full.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 76 from /E:/glassfish3/glassfish/modules/dol.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 77 from /E:/glassfish3/glassfish/modules/ejb-container.jar

2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 78 from /E:/glassfish3/glassfish/modules/ejb-internal-api.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 79 from /E:/glassfish3/glassfish/modules/ejb.security.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 80 from /E:/glassfish3/glassfish/modules/flashlight-extra-j
dk-packages.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 81 from /E:/glassfish3/glassfish/modules/flashlight-framewo
rk.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 82 from /E:/glassfish3/glassfish/modules/gf-client-module.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 83 from /E:/glassfish3/glassfish/modules/gf-connectors-conn
ector.jar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 84 from /E:/glassfish3/glassfish/modules/gf-ejb-connector.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 85 from /E:/glassfish3/glassfish/modules/gf-web-connector.j
ar
2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 86 from /E:/glassfish3/glassfish/modules/glassfish-api.jar

2001-5-9 18:15:13 BundleProvisioner update
信息: Updated bundle 87 from /E:/glassfish3/glassfish/modules/glassfish-corba-as
m.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 88 from /E:/glassfish3/glassfish/modules/glassfish-corba-co
degen.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 89 from /E:/glassfish3/glassfish/modules/glassfish-corba-cs
iv2-idl.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 90 from /E:/glassfish3/glassfish/modules/glassfish-corba-in
ternal-api.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 91 from /E:/glassfish3/glassfish/modules/glassfish-corba-ne
wtimer.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 92 from /E:/glassfish3/glassfish/modules/glassfish-corba-om
gapi.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 93 from /E:/glassfish3/glassfish/modules/glassfish-corba-or
b.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 94 from /E:/glassfish3/glassfish/modules/glassfish-corba-or
bgeneric.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 95 from /E:/glassfish3/glassfish/modules/glassfish-ee-api.j
ar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 96 from /E:/glassfish3/glassfish/modules/glassfish-extra-jr
e-packages.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 97 from /E:/glassfish3/glassfish/modules/glassfish-mbeanser
ver.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 98 from /E:/glassfish3/glassfish/modules/glassfish-naming.j
ar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 99 from /E:/glassfish3/glassfish/modules/glassfish-oracle-j
dbc-driver-packages.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 100 from /E:/glassfish3/glassfish/modules/glassfish-registr
ation.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 101 from /E:/glassfish3/glassfish/modules/glassfish.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 102 from /E:/glassfish3/glassfish/modules/gmbal.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 103 from /E:/glassfish3/glassfish/modules/gms-adapter.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 104 from /E:/glassfish3/glassfish/modules/gms-bootstrap.jar

2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 105 from /E:/glassfish3/glassfish/modules/grizzly-comet.jar

2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 106 from /E:/glassfish3/glassfish/modules/grizzly-config.ja
r
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 107 from /E:/glassfish3/glassfish/modules/grizzly-container
.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 108 from /E:/glassfish3/glassfish/modules/grizzly-framework
.jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 109 from /E:/glassfish3/glassfish/modules/grizzly-http-ajp.
jar
2001-5-9 18:15:14 BundleProvisioner update
信息: Updated bundle 110 from /E:/glassfish3/glassfish/modules/grizzly-http-serv
let.jar
2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 111 from /E:/glassfish3/glassfish/modules/grizzly-http.jar

2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 112 from /E:/glassfish3/glassfish/modules/grizzly-lzma.jar

2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 113 from /E:/glassfish3/glassfish/modules/grizzly-portunif.
jar
2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 114 from /E:/glassfish3/glassfish/modules/grizzly-rcm.jar
2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 115 from /E:/glassfish3/glassfish/modules/grizzly-utils.jar

2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 116 from /E:/glassfish3/glassfish/modules/grizzly-websocket
s.jar
2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 117 from /E:/glassfish3/glassfish/modules/ha-api.jar
2001-5-9 18:15:15 BundleProvisioner update
信息: Updated bundle 118 from /E:/glassfish3/glassfish/modules/ha-file-store.jar

2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 119 from /E:/glassfish3/glassfish/modules/ha-shoal-cache-bo
otstrap.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 120 from /E:/glassfish3/glassfish/modules/ha-shoal-cache-st
ore.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 121 from /E:/glassfish3/glassfish/modules/hk2-core.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 122 from /E:/glassfish3/glassfish/modules/hk2.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 123 from /E:/glassfish3/glassfish/modules/inmemory.jacc.pro
vider.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 124 from /E:/glassfish3/glassfish/modules/internal-api.jar

2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 125 from /E:/glassfish3/glassfish/modules/j-interop-repacka
ged.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 126 from /E:/glassfish3/glassfish/modules/jackson-core-asl.
jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 127 from /E:/glassfish3/glassfish/modules/jackson-jaxrs.jar

2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 128 from /E:/glassfish3/glassfish/modules/jackson-mapper-as
l.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 129 from /E:/glassfish3/glassfish/modules/jackson-xc.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 130 from /E:/glassfish3/glassfish/modules/jaspic.provider.f
ramework.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 131 from /E:/glassfish3/glassfish/modules/javaee-kernel.jar

2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 132 from /E:/glassfish3/glassfish/modules/javax.ejb.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 133 from /E:/glassfish3/glassfish/modules/javax.el-api.jar

2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 134 from /E:/glassfish3/glassfish/modules/javax.el.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 135 from /E:/glassfish3/glassfish/modules/javax.enterprise.
deploy.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 136 from /E:/glassfish3/glassfish/modules/javax.faces.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 137 from /E:/glassfish3/glassfish/modules/javax.jms.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 138 from /E:/glassfish3/glassfish/modules/javax.mail.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 139 from /E:/glassfish3/glassfish/modules/javax.management.
j2ee.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 140 from /E:/glassfish3/glassfish/modules/javax.persistence
.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 141 from /E:/glassfish3/glassfish/modules/javax.resource.ja
r
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 142 from /E:/glassfish3/glassfish/modules/javax.security.au
th.message.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 143 from /E:/glassfish3/glassfish/modules/javax.security.ja
cc.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 144 from /E:/glassfish3/glassfish/modules/javax.servlet-api
.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 145 from /E:/glassfish3/glassfish/modules/javax.servlet.jsp
-api.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 146 from /E:/glassfish3/glassfish/modules/javax.servlet.jsp
.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 147 from /E:/glassfish3/glassfish/modules/javax.servlet.jsp
.jstl-api.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 148 from /E:/glassfish3/glassfish/modules/javax.servlet.jsp
.jstl.jar
2001-5-9 18:15:16 BundleProvisioner update
信息: Updated bundle 149 from /E:/glassfish3/glassfish/modules/javax.transaction
.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 150 from /E:/glassfish3/glassfish/modules/jaxb-osgi.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 151 from /E:/glassfish3/glassfish/modules/jaxr-api-osgi.jar

2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 152 from /E:/glassfish3/glassfish/modules/jaxrpc-api-osgi.j
ar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 153 from /E:/glassfish3/glassfish/modules/jdbc-admin.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 154 from /E:/glassfish3/glassfish/modules/jersey-client.jar

2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 155 from /E:/glassfish3/glassfish/modules/jersey-core.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 156 from /E:/glassfish3/glassfish/modules/jersey-gf-server.
jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 157 from /E:/glassfish3/glassfish/modules/jersey-gf-servlet
.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 158 from /E:/glassfish3/glassfish/modules/jersey-gf-statspr
oviders.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 159 from /E:/glassfish3/glassfish/modules/jersey-grizzly.ja
r
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 160 from /E:/glassfish3/glassfish/modules/jersey-json.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 161 from /E:/glassfish3/glassfish/modules/jersey-moxy.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 162 from /E:/glassfish3/glassfish/modules/jersey-multipart.
jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 163 from /E:/glassfish3/glassfish/modules/jettison.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 164 from /E:/glassfish3/glassfish/modules/jms-admin.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 165 from /E:/glassfish3/glassfish/modules/jms-core.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 166 from /E:/glassfish3/glassfish/modules/jmxremote_optiona
l-repackaged.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 167 from /E:/glassfish3/glassfish/modules/jpa-connector.jar

2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 168 from /E:/glassfish3/glassfish/modules/jsf-connector.jar

2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 169 from /E:/glassfish3/glassfish/modules/jsftemplating.jar

2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 170 from /E:/glassfish3/glassfish/modules/jspcaching-connec
tor.jar
2001-5-9 18:15:17 BundleProvisioner update
信息: Updated bundle 171 from /E:/glassfish3/glassfish/modules/jsr109-impl.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 172 from /E:/glassfish3/glassfish/modules/jstl-connector.ja
r
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 173 from /E:/glassfish3/glassfish/modules/jta.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 174 from /E:/glassfish3/glassfish/modules/jts.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 175 from /E:/glassfish3/glassfish/modules/kernel.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 176 from /E:/glassfish3/glassfish/modules/launcher.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 177 from /E:/glassfish3/glassfish/modules/ldapbp-repackaged
.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 178 from /E:/glassfish3/glassfish/modules/libpam4j-repackag
ed.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 179 from /E:/glassfish3/glassfish/modules/load-balancer-adm
in.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 180 from /E:/glassfish3/glassfish/modules/logging.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 181 from /E:/glassfish3/glassfish/modules/management-api.ja
r
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 182 from /E:/glassfish3/glassfish/modules/metro-glue.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 183 from /E:/glassfish3/glassfish/modules/mimepull.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 184 from /E:/glassfish3/glassfish/modules/monitoring-core.j
ar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 185 from /E:/glassfish3/glassfish/modules/orb-connector.jar

2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 186 from /E:/glassfish3/glassfish/modules/orb-enabler.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 187 from /E:/glassfish3/glassfish/modules/orb-iiop.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 188 from /E:/glassfish3/glassfish/modules/org.apache.felix.
configadmin.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 189 from /E:/glassfish3/glassfish/modules/org.apache.felix.
fileinstall.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 190 from /E:/glassfish3/glassfish/modules/org.apache.felix.
gogo.command.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 191 from /E:/glassfish3/glassfish/modules/org.apache.felix.
gogo.runtime.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 192 from /E:/glassfish3/glassfish/modules/org.apache.felix.
gogo.shell.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 193 from /E:/glassfish3/glassfish/modules/org.apache.felix.
shell.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 194 from /E:/glassfish3/glassfish/modules/org.apache.felix.
shell.remote.jar
2001-5-9 18:15:18 BundleProvisioner update
信息: Updated bundle 195 from /E:/glassfish3/glassfish/modules/org.apache.felix.
shell.tui.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 196 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.antlr.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 197 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.asm.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 198 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.core.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 199 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.jpa.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 200 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.jpa.modelgen.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 201 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.moxy.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 202 from /E:/glassfish3/glassfish/modules/org.eclipse.persi
stence.oracle.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 203 from /E:/glassfish3/glassfish/modules/osgi-adapter.jar

2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 204 from /E:/glassfish3/glassfish/modules/osgi-container.ja
r
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 205 from /E:/glassfish3/glassfish/modules/osgi-jpa-extensio
n.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 206 from /E:/glassfish3/glassfish/modules/osgi-resource-loc
ator.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 207 from /E:/glassfish3/glassfish/modules/persistence-commo
n.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 208 from /E:/glassfish3/glassfish/modules/pkg-client.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 209 from /E:/glassfish3/glassfish/modules/registration-api.
jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 210 from /E:/glassfish3/glassfish/modules/registration-impl
.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 211 from /E:/glassfish3/glassfish/modules/rest-service.jar

2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 212 from /E:/glassfish3/glassfish/modules/scattered-archive
-api.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 213 from /E:/glassfish3/glassfish/modules/schema2beans-repa
ckaged.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 214 from /E:/glassfish3/glassfish/modules/security.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 215 from /E:/glassfish3/glassfish/modules/server-mgmt.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 216 from /E:/glassfish3/glassfish/modules/shoal-cache.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 217 from /E:/glassfish3/glassfish/modules/shoal-gms-api.jar

2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 218 from /E:/glassfish3/glassfish/modules/shoal-gms-impl.ja
r
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 219 from /E:/glassfish3/glassfish/modules/simple-glassfish-
api.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 220 from /E:/glassfish3/glassfish/modules/soap-tcp.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 221 from /E:/glassfish3/glassfish/modules/ssl-impl.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 222 from /E:/glassfish3/glassfish/modules/stats77.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 223 from /E:/glassfish3/glassfish/modules/stax2-api.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 224 from /E:/glassfish3/glassfish/modules/transaction-inter
nal-api.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 225 from /E:/glassfish3/glassfish/modules/trilead-ssh2-repa
ckaged.jar
2001-5-9 18:15:19 BundleProvisioner update
信息: Updated bundle 226 from /E:/glassfish3/glassfish/modules/war-util.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 227 from /E:/glassfish3/glassfish/modules/web-cli.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 228 from /E:/glassfish3/glassfish/modules/web-core.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 229 from /E:/glassfish3/glassfish/modules/web-embed-api.jar

2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 230 from /E:/glassfish3/glassfish/modules/web-embed-impl.ja
r
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 231 from /E:/glassfish3/glassfish/modules/web-glue.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 232 from /E:/glassfish3/glassfish/modules/web-gui-plugin-co
mmon.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 233 from /E:/glassfish3/glassfish/modules/web-ha.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 234 from /E:/glassfish3/glassfish/modules/web-naming.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 235 from /E:/glassfish3/glassfish/modules/websecurity.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 236 from /E:/glassfish3/glassfish/modules/webservices-conne
ctor.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 237 from /E:/glassfish3/glassfish/modules/webservices-extra
-jdk-packages.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 238 from /E:/glassfish3/glassfish/modules/webservices-osgi.
jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 239 from /E:/glassfish3/glassfish/modules/webservices.secur
ity.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 240 from /E:/glassfish3/glassfish/modules/weld-integration-
fragment.jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 241 from /E:/glassfish3/glassfish/modules/weld-integration.
jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 242 from /E:/glassfish3/glassfish/modules/weld-osgi-bundle.
jar
2001-5-9 18:15:20 BundleProvisioner update
信息: Updated bundle 243 from /E:/glassfish3/glassfish/modules/woodstox-core-asl
.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 244 from /E:/glassfish3/glassfish/modules/work-management.j
ar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 245 from /E:/glassfish3/glassfish/modules/autostart/org.apa
che.felix.eventadmin.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 246 from /E:/glassfish3/glassfish/modules/autostart/org.apa
che.felix.scr.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 247 from /E:/glassfish3/glassfish/modules/autostart/osgi-cd
i.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 248 from /E:/glassfish3/glassfish/modules/autostart/osgi-ee
-resources.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 249 from /E:/glassfish3/glassfish/modules/autostart/osgi-ej
b-container.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 250 from /E:/glassfish3/glassfish/modules/autostart/osgi-ht
tp.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 251 from /E:/glassfish3/glassfish/modules/autostart/osgi-ja
vaee-base.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 252 from /E:/glassfish3/glassfish/modules/autostart/osgi-jd
bc.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 253 from /E:/glassfish3/glassfish/modules/autostart/osgi-jp
a.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 254 from /E:/glassfish3/glassfish/modules/autostart/osgi-jt
a.jar
2001-5-9 18:15:21 BundleProvisioner update
信息: Updated bundle 255 from /E:/glassfish3/glassfish/modules/autostart/osgi-we
b-container.jar
2001-5-9 18:15:21 OSGiFrameworkLauncher launchOSGiFrameWork
信息: Updating system bundle
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMa
in.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: org.glassfish.embeddable.GlassFishException: java.lang.IllegalStateEx
ception: Bundle in unexpected state.
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuild
er.build(OSGiGlassFishRuntimeBuilder.java:164)
at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime
.java:157)
at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.
java:110)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(
GlassFishMain.java:112)
... 6 more
Caused by: java.lang.IllegalStateException: Bundle in unexpected state.
at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:4856)
at org.apache.felix.framework.Felix.start(Felix.java:809)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuild
er.build(OSGiGlassFishRuntimeBuilder.java:157)
... 9 more
Error stopping framework: java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher$1.run(G
lassFishMain.java:203)

Command start-domain failed.
asadmin>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



 Comments   
Comment by hapinwater [ 09/Jan/14 10:24 AM ]

The detail steps is as follow:
GlassFish could not start if computer's time is set to long before:
1.Install a glassfish(version:3.1.2) on a computer, create a domain domain1.
2.Set computer time to long before current date, such as 1999.10.12 12:30:59
3.Manually delete osgi-cache directory GLASSFISH_HOME\domains\domain1\osgi-cache
4.Then use asadmin to start domain1, start success this time.
5.Stop the domain domain1.
6.Then re start the domain domain1 again, start failured and an Exception throws by Felix.





[GLASSFISH-20986] URISyntaxException when bundle contains file with spaces in name Created: 14/Feb/14  Updated: 25/Feb/14

Status: Open
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: 4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: knut Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: knut and Sanjeeb Sahoo

 Description   

When deploying an OSGi bundle containing files with spaces in the name I get the following error logged. In this case the bundle was an Apache FOP bundle.

2014-02-14T09:56:00.357+0100|INFO: ERROR: Bundle org.glassfish.fighterfish.osgi-jpa [296] EventDispatcher: Error during dispatch. (java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in path at index 40: bundle://402.0:0/org/apache/fop/pdf/sRGB Color Space Profile.icm)
2014-02-14T09:56:00.358+0100|SEVERE: java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in path at index 40: bundle://402.0:0/org/apache/fop/pdf/sRGB Color Space Profile.icm
at org.glassfish.osgijavaeebase.OSGiBundleArchive.getEntryURI(OSGiBundleArchive.java:320)
at org.glassfish.osgijavaeebase.OSGiBundleArchive$BundleResourceIterator.<init>(OSGiBundleArchive.java:718)
at org.glassfish.osgijavaeebase.OSGiBundleArchive$BundleResourceIterator.<init>(OSGiBundleArchive.java:681)
at org.glassfish.osgijavaeebase.OSGiBundleArchive.iterator(OSGiBundleArchive.java:329)
at org.glassfish.osgijpa.JPABundleProcessor.discoverPxmls(JPABundleProcessor.java:99)
at org.glassfish.osgijpa.JPABundleProcessor.isJPABundle(JPABundleProcessor.java:90)
at org.glassfish.osgijpa.JPAExtender.bundleChanged(JPAExtender.java:117)
at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4408)
at org.apache.felix.framework.Felix.installBundle(Felix.java:3048)
at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:981)
at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:895)
at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:808)
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:446)
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:263)
Caused by: java.net.URISyntaxException: Illegal character in path at index 40: bundle://402.0:0/org/apache/fop/pdf/sRGB Color Space Profile.icm
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3086)
at java.net.URI$Parser.parse(URI.java:3034)
at java.net.URI.<init>(URI.java:595)
at java.net.URL.toURI(URL.java:938)
at org.glassfish.osgijavaeebase.OSGiBundleArchive.getEntryURI(OSGiBundleArchive.java:318)
... 17 more



 Comments   
Comment by Sanjeeb Sahoo [ 18/Feb/14 04:56 PM ]

Seems like a bug in Felix. Bundle.getEntry() is returning a URL with space char in it. Let me see if we can work around it in our code.

Comment by knut [ 18/Feb/14 05:50 PM ]

I was actually first going to file this as a Felix bug, but then based on the stack trace elements I decided that it was probably more a Glassfish issue.

Let me know if you want me to also report this as a Felix bug, so that it can also get fixed there.

Comment by Sanjeeb Sahoo [ 19/Feb/14 12:13 AM ]

Yes, try reporting the issue in Felix. If they fix it, well and good, else let me know so that we can think of a work around in our end.

Comment by knut [ 19/Feb/14 05:53 PM ]

Please note that i filed issue https://issues.apache.org/jira/browse/FELIX-4429 against Felix.

Meanwhile I am wondering what the exact impact is of this problem. AFAICT the bundle was still resolved. But will this mean that some entries won't be accessible or are you aware of any problems this might cause? If so it may make sense to create a temporary workaround in Glassfish until a Felix version is used which fixes this problem.

Comment by Sanjeeb Sahoo [ 25/Feb/14 07:43 AM ]

If the bundle contained any META-INF/persistence.xml files and if you wanted them to be processed by GlassFish OSGi/JPA module, then that won't happen due to this exception. Otherwise there is not any issue. Since you are not activating the bundle, I doubt you wanted its persistence.xml to be processed. So, I would say it's not a serious issue for now.

Comment by knut [ 25/Feb/14 10:59 AM ]

Thank you for the explanation. At least in my case this is not a problem.





[GLASSFISH-18924] IOP01210054 durign (re)deployment of OSGi bundle during cluster instance (re)start Created: 20/Jul/12  Updated: 11/Mar/14

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ancoron Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Java Archive File org.ancoron.osgi.test.bundles-glassfish-resources.jar    
Tags:
Participants: ancoron, jkreutzfeld, Jochen Kraushaar and Sanjeeb Sahoo

 Description   

I know that GLASSFISH-17971 should've resolved the problem but I see that it does not
(and simply cannot) solve the problem in this case.

The exception I get is this:

IOP01210054: Error while attempting to load class com.sun.corba.ee.impl.oa.rfm.ReferenceManagerConfigurator
org.omg.CORBA.BAD_OPERATION: WARNING: IOP01210054: Error while attempting to load class com.sun.corba.ee.impl.oa.rfm.ReferenceManagerConfigurator  vmcid: OMG  minor code: 54  completed: No
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
        at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
        at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
        at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
        at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
        at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
        at $Proxy166.classActionException(Unknown Source)
        at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:297)
        at com.sun.corba.ee.spi.orb.OperationFactory$ComposeAction.operate(OperationFactory.java:520)
        at com.sun.corba.ee.impl.orb.PrefixParserAction.apply(PrefixParserAction.java:96)
        at com.sun.corba.ee.spi.orb.PropertyParser.parse(PropertyParser.java:84)
        at com.sun.corba.ee.spi.orb.ParserImplBase.init(ParserImplBase.java:77)
        at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.runUserConfigurators(ORBConfiguratorImpl.java:179)
        at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.configure(ORBConfiguratorImpl.java:170)
        at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:625)
        at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:704)
        at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:691)
        at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:107)
        at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:581)
        at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:263)
        at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:93)
        at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:152)
        at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getProtocolManager(GlassFishORBHelper.java:219)
        at com.sun.ejb.containers.BaseContainer.initializeProtocolManager(BaseContainer.java:824)
        at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:508)
        at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:142)
        at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:121)
        at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:230)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:299)
        at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:105)
        at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
        at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
        at org.glassfish.osgijavaeebase.OSGiDeploymentRequest.deploy(OSGiDeploymentRequest.java:183)
        at org.glassfish.osgijavaeebase.OSGiDeploymentRequest.execute(OSGiDeploymentRequest.java:118)
        at org.glassfish.osgijavaeebase.AbstractOSGiDeployer.deploy(AbstractOSGiDeployer.java:121)
        at org.glassfish.osgijavaeebase.OSGiContainer.deploy(OSGiContainer.java:154)
        at org.glassfish.osgijavaeebase.OSGiContainer.redeploy(OSGiContainer.java:113)
        at org.glassfish.osgijavaeebase.OSGiContainer.access$500(OSGiContainer.java:61)
        at org.glassfish.osgijavaeebase.OSGiContainer$DeployerAddedThread.run(OSGiContainer.java:305)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.sun.corba.ee.impl.oa.rfm.ReferenceManagerConfigurator
        at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:882)
        at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:877)
        at com.sun.corba.ee.spi.orb.ORB$3.evaluate(ORB.java:904)
        at com.sun.corba.ee.spi.orb.ORB$3.evaluate(ORB.java:900)
        at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:294)
        ... 33 more
Caused by: java.lang.ClassNotFoundException: com.sun.corba.ee.impl.oa.rfm.ReferenceManagerConfigurator
        at java.lang.ClassLoader.findClass(ClassLoader.java:373)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.loadClass(APIClassLoaderServiceImpl.java:206)
        at com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.loadClass(APIClassLoaderServiceImpl.java:182)
        at org.glassfish.osgiejb.OSGiEJBDeploymentContext$DelegatingInstrumentableClassLoader.loadClass(OSGiEJBDeploymentContext.java:101)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:880)
        ... 37 more


For what I can see in the relevant code is the following:

  1. the ORB$2.evaluate calls ORBClassLoader.getClassLoader.loadClass(...)
  2. ORBClassLoader.getClassLoader() returns the Thread-ContextClassLoader
  3. in ApplicationLifecycle.deploy() the current Thread ContextClassLoader is set to the ClassLoader of the DeploymentContext
  4. the OSGiDeploymentContext internally only uses the Bundles' current ClassLoader or the APIClassLoader


What we need here would probably be the ConnectorClassLoader as well.

Also I wonder if implementing the following methods properly would help here:

  • createDeploymentClassLoader
  • createApplicationClassLoader


Btw., the OSGi application has been deployed using asadmin deploy --type osgi, so not using plain FileInstall.



 Comments   
Comment by Sanjeeb Sahoo [ 24/Oct/12 03:50 AM ]

Ancoron,

Can you supply a test case?

Sahoo

Comment by ancoron [ 24/Oct/12 08:48 AM ]

I was testing my glassfish-resources extender in a local cluster setup while encountering this.

Please find the test bundle attached (org.ancoron.osgi.test.bundles-glassfish-resources.jar).

Also you'll need the actual extender from here:
https://oss.sonatype.org/content/repositories/releases/org/ancoron/glassfish/extender/resources/1.0.4/

...and a small library from here:
https://oss.sonatype.org/content/repositories/releases/org/ancoron/glassfish/lib/resources/1.0.4/

Comment by jkreutzfeld [ 18/Oct/13 12:23 PM ]

We're encountering the same problem in our project. We have deployed various OSGi bundles (via the Felix console), of which one contains EJBs and a persistence.xml.
Everything's fine until we deploy a JasperReports WAR via the Glassfish Admin Console (which i think is the same as using asadmin deploy). After that, a GlassFish restart leads to the exact same stacktrace described by ancoron.

Our company is very interested in this bug getting fixed. It's a serious issue for maintenance in production environment.

Comment by Jochen Kraushaar [ 11/Mar/14 11:09 AM ]

At least in our case, the problem is a GlassFish / Apache Felix concurrency issue:

During start up of OSGi bundles containing EJBs, class org.glassfish.enterprise.iiop.impl.GlassFishORBManager tries to start module glassfish-corba-orb in method initOrb(). The start call of the bundle is delegated to the Felix framework. If - at the same time - the FelixStartLevel thread is active, starting of the glassfish-corba-orb bundle is delegated to the FelixStartLevel thread and the start method returns without actually starting the module. The original thread proceeds and then throws the ClassNotFoundException, as the glassfish-corba-orb module is not started, yet.

In my opinion this bug can be solved by waiting for the glassfish-corba-orb module to be started in GlassFishORBManager. The thread should only proceed, if the bundle is definitely started.

As a workaround the glassfish-corba-orb module can be started manually e.g. by a BundleActivator. The BundleActivator has to be started before the EJB bundles become started, e.g. by setting a start level of 1.

Example of such a BundleActivator:

public class PatchBundleActivator implements BundleActivator
{
   @Override
   public void start(BundleContext context) throws Exception
   {
      Bundle[] bundles = context.getBundles();
      for (Bundle bundle : bundles) {
         if ("glassfish-corba-orb".equals(bundle.getSymbolicName())) {
            bundle.start();
         }
      }
   }

   @Override
   public void stop(BundleContext context) throws Exception
   {
   }
}




[GLASSFISH-11782] Make GlassFish embeddable in OSGi environments Created: 11/Apr/10  Updated: 26/Mar/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Minor
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Dependency
depends on GLASSFISH-11780 Specify bundle metadata corretcly. Open
depends on GLASSFISH-11779 Don't rely on special version of for ... Resolved
depends on GLASSFISH-11781 Can't start GF on Equinox if jaxb and... Resolved
depends on GLASSFISH-11783 Fix bootdelegation flag Resolved
depends on GLASSFISH-12478 Allow appserver to be started and sto... Resolved
depends on GLASSFISH-11776 Make javax.transaction and omgapi jar... Resolved
Issuezilla Id: 11,782
Status Whiteboard:

This issue is almost addressed. GlassFish is now embeddable in OSGi runtime like Karaf, Eclipse IDE, etc. There are some corner cases which may not work because of poor quality of bundle metadats in some GlassFish bundles, which is why we have kept this issue open.

Tags: 3_1-exclude 3_1_1-scrubbed
Participants: Richard S. Hall and Sanjeeb Sahoo

 Description   

This is an umbrella issue and may reference other issues. While trying to embed
glassfish in other OSGi runtime, we (Ludo & I) have identified some
shortcomings. While we are able to embed GlassFish in existing runtime as
demonstrated in [1], two kinds of issues have been observed:

1) OSGi framework configuration:
--------------------------------
It appears that GlassFish requires special metadata.
1a) Although GlassFish does not rely on extra system packages, it seems to
require specific versions of system packages for packages like javax.xml.stream.
See issue 11779 [2].

1b)It also appears that GlassFish requires special handling of some JRE packages
like javax.transaction.xa, org.omg.corba, which are incomplete in JRE
distribution. See issue 11776 [3] where this is being addressed.

1c)It also appears GlassFish does not like if JAXB and JAX-WS packages are
exported by system bundle. See issue 11781 [5].

2) Bundle metadata
------------------
See issue 11780 [4].

References:
----------
[1]
http://weblogs.java.net/blog/ss141213/archive/2010/02/14/how-embed-glassfish-existing-osgi-runtime
[2] https://glassfish.dev.java.net/issues/show_bug.cgi?id=11779
[3] https://glassfish.dev.java.net/issues/show_bug.cgi?id=11776
[4] https://glassfish.dev.java.net/issues/show_bug.cgi?id=11780
[5] https://glassfish.dev.java.net/issues/show_bug.cgi?id=11781



 Comments   
Comment by Sanjeeb Sahoo [ 11/Apr/10 07:24 PM ]

Added dependencies on other issues.

Comment by Richard S. Hall [ 14/Apr/10 11:37 AM ]

cc heavy

Comment by Sanjeeb Sahoo [ 12/Oct/10 07:21 AM ]

3.1_ms7

Comment by Sanjeeb Sahoo [ 31/Oct/10 09:50 PM ]

Issue 11783 has been fixed to a reasonable degree so we are no longer blocked by
that. We still depend on some bootdelegation list, but those are essential for
some special use cases like while using netbeans profiler or to monitor
glassfish or to use eclipselink's oracle specific features. Since none of them
are needed during typical usage of embedded glassfish, I am removing dependency
on that bug.

Comment by Sanjeeb Sahoo [ 31/Oct/10 09:55 PM ]

Refer to my last comment. It just occurred to me that a better way to handle the
situation is to split issue 11783 into two parts: one essential portion which
continues to be part of 11783 and an optional portion separated into an RFE.
Then we can just mark 11783 fixed and still refer to that in our dependency
chain. So,I am going to add that bug in the dependency chain.

Comment by Sanjeeb Sahoo [ 14/Dec/10 08:16 AM ]

This issue has been sufficiently addressed in v3.1. Moving the rest to 3.2.

Comment by Sanjeeb Sahoo [ 05/Jul/11 05:49 AM ]

With all the enhancements to our bootstrapping process, GlassFish can now be embedded in existing runtime even though we have quite a few rogue bundles who don't specify their metadata correctly. So, downgrading the priority of this bug.





[GLASSFISH-11914] Glassfishv3 doesn't start if it is installed in a path that has + characters Created: 16/May/10  Updated: 06/Mar/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: V3
Fix Version/s: not determined

Type: Bug Priority: Minor
Reporter: alitokmen Assignee: Richard S. Hall
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 11,914
Tags:
Participants: alitokmen, Richard S. Hall, Sanjeeb Sahoo and Tom Mueller

 Description   

When CARGO tests Glassfishv3, it will install the containers into the temporary
directory. For some reason, on MacOS X, that directory has + characters in its name.

Glassfishv3 doesn't start if it is installed in a path that contains these
characters, Glassfishv3 doesn't start. If shows messages like:

Auto-properties install: org.osgi.framework.BundleException: Unable to cache
bundle:
reference:file:/private/var/folders/CD/CDEWKEyFESa5mHkUk2ZCvE+++TI/-Tmp-/cargo/installs/glassfish-v3-web/glassfishv3/glassfish/modules/osgi-main.jar

  • java.io.IOException: Referenced file does not exist:
    /private/var/folders/CD/CDEWKEyFESa5mHkUk2ZCvE
    TI/Tmp/cargo/installs/glassfish-v3-web/glassfishv3/glassfish/modules/osgi-main.jar

I guess it's because paths are not properly escaped.

Priority is P4, as I think paths are properly escaped for Windows paths
(C:\Program Files). If not, this issue will become a P1 or P2.

Cheers

S. Ali Tokmen
http://ali.tokmen.com/



 Comments   
Comment by Sanjeeb Sahoo [ 18/May/10 12:17 AM ]

Richard,

Can you check how Felix tries to reconstruct a File object from the autostart
property? In GlassFish, we do the following:

System.setProperty("com.sun.aas.installRootURI", glassfishDir.toURI().toString());

where glassfishDir is a File object corresponding to installation location.
Since we call toURI().toString(), that should take care of any special char in
the path as per the javadocs of java.net.URI:
"The toString method returns a URI string with all necessary quotation but which
may contain other characters."

Comment by Richard S. Hall [ 18/May/10 12:57 AM ]

I believe this is specifically related to install by reference (i.e.,
"reference:file:/path/to/bundle.jar"), which is creating a file object directly
from the path. For normal installs, the bundle is read from the URL.

I will open a JIRA issue for this in Felix to make sure it works in the Felix
3.0 release.

Comment by Richard S. Hall [ 18/May/10 01:53 AM ]

It looks like we might have fixed this in Felix 2.0.5. Could rerun your scenario
using the latest release of Felix (just overwrite the existing felix.jar file)?

Comment by alitokmen [ 18/May/10 12:02 PM ]

Hello

Indeed, changing the felix.jar file in glassfish/osgi/felix/bin with
http://apache.cict.fr/felix/org.apache.felix.main-2.0.5.jar (Felix 2.0.5
official release) fixes the issue.

This ticket can be closed, and can even be linked with any ticket asking for an
upgrade to Felix 2.0.5.

Cheers

S. Ali Tokmen
http://ali.tokmen.com/

Comment by Tom Mueller [ 06/Mar/12 09:56 PM ]

Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.





[GLASSFISH-15264] Optionally import instead of always importing dynamically in bootstrap module Created: 17/Dec/10  Updated: 18/Oct/12

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1_b33
Fix Version/s: future release

Type: Improvement Priority: Minor
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: ee7ri_cleanup_deferred
Participants: Sanjeeb Sahoo and Tom Mueller

 Description   

Apply the attached patch after 3.1 release:

Index: core/bootstrap/osgi.bundle
===================================================================
— core/bootstrap/osgi.bundle (revision 43924)
+++ core/bootstrap/osgi.bundle (working copy)
@@ -40,16 +40,16 @@

Bundle-Activator: com.sun.enterprise.glassfish.bootstrap.GlassFishMainActivator

    1. Please note we don't everything that's required by every class in this module.
    2. We only import packages required by GlassFishMainActivator and its dependencies
      +# Please note we don't mandatorily import everything that's required by every class in this module.
      +# We only import mandatorily packages required by GlassFishMainActivator and its dependencies
  1. such as EmbeddedOSGiGlassFishRuntimeBuilder. The rest of the dependencies are
    1. pulled in dynamically via DynamicImport-Package. By doing this, we will be able
      +# pulled in via optional import or dynamically via DynamicImport-Package. By doing this, we will be able
  2. to install and start this bundle in a vanilla OSGi environment and then bootstrap
    1. rest of GlassFish bundles. Please contact Sahoo or Bhavani before you make any change in this
      +# rest of GlassFish bundles. Please contact Sahoo before you make any change in this
  3. bundle's manifest.
    Import-Package: \
  • org.glassfish.embeddable,
  • org.osgi.*
    + org.glassfish.embeddable, org.osgi.*, \
    + *; resolution:=optional

DynamicImport-Package: *



 Comments   
Comment by Tom Mueller [ 18/Oct/12 09:22 PM ]

Marking the fix version field as "future-release". This is based on an evaluation by John, Michael, and Tom WRT to the PRD for the Java EE 7 RI/SDK. This issue was deemed to not be a P1 for that release. If this is in error or there are other reasons why this RFE should be targeted for the Java EE 7 RI/SDK release, then change the fix version field back to an appropriate build.





[GLASSFISH-19854] [Fighterfish Test Framework]making this timeout (60000) configurable from test.util.WebAppBundle Created: 13/Mar/13  Updated: 22/May/13

Status: In Progress
Project: glassfish
Component/s: OSGi, OSGi-JavaEE
Affects Version/s: 3.1.2
Fix Version/s: 4.0.1

Type: Task Priority: Minor
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

Making this timeout (60000) is configurable from test.util.WebAppBundle.
[Sahoo]
The idea of test timeout is to kill a request after timeout and this fits in well. We can have a method in WebAppBundle.setReadTimeout() which a test can use to override if it likes to. The default value can be TestsConfiguration.getTimeout().



 Comments   
Comment by TangYong [ 14/Mar/13 04:04 AM ]

The task is in progress. Basically, based on the discuss between Sahoo and me, the following is detailed design,

(The overriding priority is 1>2>3)
1. allowing an user to override the Read Timeout property
creating a method called "setRequestReadTimeout" in WebAppBundle, and an user can call the method in T2_Test's some method.

2. if not calling setRequestReadTimeout in T2_Test, allowing an user to specify request.readtimeout system property while executing it tests.

eg. mvn clean test -Dglassfish.home=D:\20130125\glassfish2\glassfish4\glassfish -Drequest.readtimeout=30000

3. if not specifying -Drequest.readtimeout,

1) I have provided a default value in test.it/pom
<request.readtimeout>60000</request.readtimeout>

and the value will be set into RequestReadTimeout

2) if an user left the above empty, eg.
<request.readtimeout></request.readtimeout>, RequestReadTimeout will be TestsConfiguration.getTimeout()

Comment by TangYong [ 14/Mar/13 04:04 AM ]

Now, the above all cases have passed my it tests, and I will submit a patch and let sahoo review today.

Comment by TangYong [ 14/Mar/13 06:09 AM ]

Patch has been sent to Sahoo and waiting for review result.

Comment by Sanjeeb Sahoo [ 29/Mar/13 11:21 AM ]

Should we fix this after fixing GLASSFISH-20088?

Comment by TangYong [ 29/Mar/13 12:36 PM ]

Yes, I think so.

Comment by TangYong [ 22/May/13 07:49 AM ]

Ready to check in patch

Comment by TangYong [ 22/May/13 12:47 PM ]

Patch has been checked in.
At revision: 62061





[GLASSFISH-20425] needing to fix com.sun.enterprise.hk2.repositories in config/osgi.properties Created: 29/Apr/13  Updated: 29/Apr/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b86_RC2
Fix Version/s: 4.0.1

Type: Bug Priority: Minor
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

currently, in config/osgi.properties, com.sun.enterprise.hk2.repositories is a wrong setting.

[Current]
com.sun.enterprise.hk2.repositories=${com.sun.aas.installRootURI}/modules/

[Fix]
com.sun.enterprise.hk2.repositories=${com.sun.aas.installRootURI}modules/



 Comments   
Comment by Sanjeeb Sahoo [ 29/Apr/13 04:17 AM ]

not needed for 4.0

Comment by TangYong [ 29/Apr/13 04:36 AM ]

Yes, not needed for 4.0. And although not fixing the setting can also work, in order to keep consist with other similar setting, fixing it in 4.0.1.





[GLASSFISH-20445] org.eclipse.persistence.moxy bundle has invalid optional osgi import header Created: 30/Apr/13  Updated: 30/Apr/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: 4.0_b86_RC2
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Jakub Podlesak Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to GLASSFISH-20444 EclipseLink MOXy bundle throws CNFE i... Closed
Tags:
Participants: Jakub Podlesak and Sanjeeb Sahoo

 Description   

This is related to GLASSFISH-20444.
javax.xml.bind.* package import does not seem optional.






Mapping HK2 annotations(@Service and @Inject) into OBR capability and requirement (GLASSFISH-19395)

[GLASSFISH-20489] needing to consider IterableProvider injection Created: 08/May/13  Updated: 08/May/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Minor
Reporter: TangYong Assignee: TangYong
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: TangYong

 Description   

needing to consider IterableProvider injection.

Eg.

@Service
public class Library {
@Inject
private IterableProvider<Book> allBooks;

public LinkedList<Book> getAllBooks() {
LinkedList<Book> retVal = new LinkedList<Book>();

for (Book book : allBooks) { retVal.add(book); }

return retVal;
}
}

From semantic, IterableProvider should be same as obr's "multiple" attribute. Although "multiple" attribute has not any effect on deploying in current obr implementation. However, from OSGi r5 Resolver spec, "multiple" attribute should be implemented , so, we still need to consider it.

Currently, I will lower the priority of the sub-task.






[GLASSFISH-20902] Needing to update ${hk2.bundles} of osgi.properties to remove cglib.jar while entering 4.0.1 age Created: 17/Nov/13  Updated: 17/Nov/13

Status: Open
Project: glassfish
Component/s: OSGi
Affects Version/s: None
Fix Version/s: 4.0.1

Type: Bug Priority: Minor
Reporter: TangYong Assignee: Sanjeeb Sahoo
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Sanjeeb Sahoo and TangYong

 Description   

In http://dlc.sun.com.edgesuite.net/glassfish/4.0.1/nightly/, cglib.jar has been removed from modules, So, we must update osgi.properties to remove the following line:

${com.sun.aas.installRootURI}modules/cglib.jar \






[GLASSFISH-18734] Do not use System.out.println() in production code Created: 16/May/12  Updated: 16/May/12

Status: Open
Project: glassfish
Component/s: logging, OSGi
Affects Version/s: 3.1.2
Fix Version/s: None

Type: Bug Priority: Trivial
Reporter: Harald Wellmann Assignee: naman_mehta
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: Harald Wellmann and naman_mehta

 Description   

A couple of GlassFish messages always show up on my console even when logging is turned off. The following messages should be suppressed or be converted to proper log messages:

./core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/GlassFishMainActivator.java:196: System.out.println("Provisioning options are " + provisioningOptions);
./core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/osgi/EmbeddedOSGiGlassFishRuntime.java:114: System.out.println("Completed shutdown of GlassFish runtime");
./core/logging/src/main/java/com/sun/enterprise/server/logging/LogManagerService.java:600: System.out.println("Completed shutdown of Log manager service");

(Line numbers refer to the 3.1.2 source tree.)






Generated at Sun Apr 20 22:19:53 UTC 2014 using JIRA 4.0.2#472.