1#
2# Copyright (c) 1997-2018 Oracle and/or its affiliates. All rights reserved.
3# Copyright 2004 The Apache Software Foundation
4#
5# Licensed to the Apache Software Foundation (ASF) under one or more
6# contributor license agreements.  See the NOTICE file distributed with
7# this work for additional information regarding copyright ownership.
8# The ASF licenses this file to You under the Apache License, Version 2.0
9# (the "License"); you may not use this file except in compliance with
10# the License.  You may obtain a copy of the License at
11#
12#      http://www.apache.org/licenses/LICENSE-2.0
13#
14# Unless required by applicable law or agreed to in writing, software
15# distributed under the License is distributed on an "AS IS" BASIS,
16# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17# See the License for the specific language governing permissions and
18# limitations under the License.
19#
20
21
22#
23# Framework config properties.
24#
25
26# Packages exported by system bundle when framework is Felix.
27# Unlike Equinox, Felix requires us to list all packages from felix.jar
28# while using org.osgi.framework.system.packages property.
29Felix.system.packages=\
30 org.osgi.dto; version=1.0, \
31 org.osgi.framework; version=1.8, \
32 org.osgi.framework.dto; version=1.8, \
33 org.osgi.framework.launch; version=1.2, \
34 org.osgi.framework.wiring; version=1.2, \
35 org.osgi.framework.startlevel; version=1.1, \
36 org.osgi.framework.hooks.bundle; version=1.1, \
37 org.osgi.framework.hooks.resolver; version=1.0, \
38 org.osgi.framework.hooks.service; version=1.1, \
39 org.osgi.framework.hooks.weaving; version=1.1, \
40 org.osgi.service.packageadmin; version=1.2, \
41 org.osgi.service.startlevel; version=1.1, \
42 org.osgi.service.url; version=1.0, \
43 org.osgi.util.tracker; version=1.5.1, \
44 ${extra-system-packages}
45
46# Packages exported by system bundle when framework is Equinox.
47# Unlike Felix, It is not required to explicitly mention the packages exported by equinox framework jar.
48# Equinox automatically adds packages from equinox.jar to exported package list.
49Equinox.system.packages=${extra-system-packages}
50
51# Packages exported by system bundle when framework is Knopflerfish.
52# Taken from MANIFEST.MF of framework.jar distributed with Knopflerfish 3.5.0.
53# Like Felix, this also requires OSGi packages to be listed unless we use
54# org.osgi.framework.system.packages.extra property.
55Knopflerfish.system.packages=\
56 org.osgi.framework;version=1.5, \
57 org.osgi.framework.launch;version=1.0, \
58 org.osgi.framework.hooks.service;version=1.0, \
59 org.osgi.service.packageadmin;version=1.2, \
60 org.osgi.service.permissionadmin;version=1.2, \
61 org.osgi.util.tracker;version=1.4, \
62 org.osgi.service.startlevel;version=1.1, \
63 org.osgi.service.url;version=1.0, \
64 org.osgi.service.condpermadmin;version=1.1, \
65 ${extra-system-packages}
66
67
68# As much as we prefer system.packages.extra to system.packages, we are forced to
69# configure system bundle using system.packages property because neither
70# Equinox nor Knopflerfish have the correct list of Java SE packages. Only
71# Felix has it after we supplied them the patch. It's a pity that something like
72# Java SE package list is not correctly set by various framework vendors correctly.
73org.osgi.framework.system.packages=${${GlassFish_Platform}.system.packages}
74
75# embeddable package version must match what is found in core/bootstrap/osgi.bundle file. See that file more details.
76extra-system-packages=${jre-${java.specification.version}}, org.glassfish.embeddable;org.glassfish.embeddable.spi;version=3.1.1
77
78# Although Eclipselink imports these packages, in typical GlassFish installation,
79# Oracle JDBC driver may not be available as a bundle, so we ask user to install it in
80# java.ext.dirs and the bootdelegation helps there.
81eclipselink.bootdelegation=oracle.sql, oracle.sql.*
82
83# There is no need to use bootdelegation except for the following issues:
84# 1. EclipseLink
85# 4. NetBeans profiler packages exist in parent class loader (see issue #8612)
86# 5. BTrace exists in bootclasspath.
87org.osgi.framework.bootdelegation=${eclipselink.bootdelegation}, \
88                                  org.netbeans.lib.profiler, org.netbeans.lib.profiler.*
89
90# The OSGi R4.2 spec says boot delegation uses the boot class loader by default. We need
91# to configure it to use the framework class loader because that class loader is
92# configured with extra classes like jdk tools.jar, derby jars, etc. that must be
93# made available in GlassFish to work.
94org.osgi.framework.bundle.parent=framework
95
96# We don't set this value here, as expanding GlassFish_Platform gives us a file name with upper case
97# char in it. GlassFish file layout does not recommend use of upper case char, because some
98# platforms like Windows don't honor case in file names. So, we don't set the cache dir here.
99# Instead, it is set in various PlatformHelper implementations.
100#org.osgi.framework.storage=${com.sun.aas.instanceRoot}/osgi-cache/${GlassFish_Platform}/
101# See GLASSFISH-19624 as to why we always clean the cache on Knopflerfish.
102Knopflerfish.storage.clean=onFirstInit
103org.osgi.framework.storage.clean=${${GlassFish_Platform}.storage.clean}
104
105# Are we using ondemand provisioning of OSGi modules? default is false.
106glassfish.osgi.ondemand=false
107
108# Is OBR enabled?
109com.sun.enterprise.hk2.obrEnabled=${glassfish.osgi.ondemand}
110
111# Directory containing all the modules.
112com.sun.enterprise.hk2.repositories=${com.sun.aas.installRootURI}/modules/
113
114# Should the repo be synchronously initialized. Default is true to avoid any potential race condition.
115# However, we should eventually set it to false to minimize impact on start up time.
116com.sun.enterprise.hk2.initializeRepoSynchronously=true
117
118# Should fragments be deployed? default is false.
119com.sun.enterprise.hk2.obrDeploysFragments=false
120
121# Should OBR deploy optional requirements
122com.sun.enterprise.hk2.obrDeploysOptionalRequirements=true
123
124# Is Obr cached in serialized format? Default is false in which case XML format is used.
125com.sun.enterprise.hk2.obrIsSerialized=false
126
127# This is where we cache the inhabitants information
128com.sun.enterprise.hk2.cacheDir=${org.osgi.framework.storage}
129
130# Important Note about glassfish.osgi.auto.* properties.
131# These properties are interpreted by our autoprocessor to install and start the configured list of bundles.
132# There are three properties:
133# glassfish.osgi.auto.install, glassfish.osgi.auto.start, glassfish.osgi.auto.start.level[.N]
134# to control what gets installed in which order, what gets started and what should be the bundle's start level.
135# glassfish.osgi.auto.install is used to configure a list of locations from where bundles will be installed.
136# The order is important as bundle installation order is an input to package resolution process in OSGi.
137# Since we want packages from endorsed bundles to be preferred over those exported by system bundle for
138# overlapping packages, we need to install and start endorsed bundles first.
139# Then we start osgi-resource-locator bundle as osgi-adapter depends on it being active.
140# Since Felix starts bundles with same start level in the order in which bundles are installed,
141# and osgi-adapter and osgi-resource-locator both have same start level of 1, to make sure
142# osgi-resource-locator starts ahead of osgi-adapter, we install it ahead of osgi-adapter as well.
143# TODO: We should fix it by using different start levels, but at this point we can't change
144# the start levels, as we have already documented the start levels shell bundles in public documents.
145# When we change that, we shall change here as well.
146# Then we autostart GlassFish core bundles followed by optional services.
147# The reason for using installRootURI is to make sure any char like white space is properly encoded.
148glassfish.osgi.auto.install=\
149 ${com.sun.aas.installRootURI}modules/endorsed/ \
150 ${com.sun.aas.installRootURI}modules/osgi-resource-locator.jar \
151 ${com.sun.aas.installRootURI}modules/ \
152 ${com.sun.aas.installRootURI}modules/autostart/
153
154# This bundle is only needed to be activated if we want to use ondemqand mode.
155# Since ondemand mode is not the default mode, we don't activate it by default
156# to save time and space. Let it be defined explicitly when we need ondemand support.
157# We have already added necessary support to easily set a property while launching
158# from command line or via domain.xml.
159#obr.bundles=${com.sun.aas.installRootURI}modules/org.apache.felix.bundlerepository.jar
160
161hk2.bundles=\
162 ${com.sun.aas.installRootURI}modules/hk2-api.jar \
163 ${com.sun.aas.installRootURI}modules/hk2-utils.jar \
164 ${com.sun.aas.installRootURI}modules/jakarta.inject.jar \
165 ${com.sun.aas.installRootURI}modules/osgi-resource-locator.jar \
166 ${com.sun.aas.installRootURI}modules/hk2-locator.jar \
167 ${com.sun.aas.installRootURI}modules/hk2-runlevel.jar \
168 ${com.sun.aas.installRootURI}modules/hk2-config.jar \
169 ${com.sun.aas.installRootURI}modules/config-types.jar \
170 ${com.sun.aas.installRootURI}modules/bean-validator.jar \
171 ${com.sun.aas.installRootURI}modules/class-model.jar \
172 ${com.sun.aas.installRootURI}modules/asm-repackaged.jar \
173 ${com.sun.aas.installRootURI}modules/osgi-adapter.jar
174
175core.bundles=\
176 ${com.sun.aas.installRootURI}modules/endorsed/ \
177 ${obr.bundles} \
178 ${hk2.bundles} \
179 ${com.sun.aas.installRootURI}modules/glassfish.jar
180
181autostart.bundles=${com.sun.aas.installRootURI}modules/autostart/
182
183# This property is used to configure a list of bundles to be started by our autoprocessor.
184# Eventual activation of the bundles depend on bundle's start level and activation policy.
185glassfish.osgi.auto.start=\
186 ${core.bundles} \
187 ${autostart.bundles}
188
189# List of bundles whose start level is 1
190glassfish.osgi.auto.start.level.1=${core.bundles}
191
192# List of bundles whose start level is 2
193# For start up performance, we don't start optional bundles before start level 2.
194glassfish.osgi.auto.start.level.2=${autostart.bundles}
195
196# Final start level of OSGi framework. This is used by GlassFish launcher code
197# to set the start level of the OSGi framework once server is up and running so that
198# optional services can start. The initial start level of framework is controlled using
199# the standard framework property called org.osgi.framework.startlevel.beginning
200glassfish.osgi.start.level.final=2
201
202# What should be the initial start level of framework.
203# For performance reason, initially we set the start level to 1 so that no optional
204# bundles can get activated while server is still starting. Once server is started,
205# the framework's start level is set to whatever is configured in glassfish.osgi.start.level.final property.
206org.osgi.framework.startlevel.beginning=1
207
208# Set bundle start level to be same or less than that of framework,
209# otherwise HK2 installed bundles won't be activated.
210# See issue #5934
211felix.startlevel.bundle=1
212
213# log level 1: error, 2: warning, 3: info, 4: debug
214felix.log.level=1
215
216# The Felix launcher registers a shutdown hook to cleanly stop the framework
217# by default, uncomment the following line to disable it.
218# Since, GlassFish uses its own shutdown hook to stop the framework, we don't need this.
219felix.shutdown.hook=false
220
221#felix.service.urlhandlers=false
222
223# Should OSGi bundles inherit permissions from JDK security manager policy configuration?
224# Set it to true if you waant them to. Default is false for backward compatibility reasons.
225felix.security.defaultpolicy=true
226
227# See equinox bug #329314
228osgi.resolver.preferSystemPackages=false
229
230# See equinox bug #344850
231osgi.compatibility.bootdelegation=false
232
233#
234# Java SE 6 platform packages. Taken from: http://java.sun.com/javase/6/docs/api/
235# Don't add/remove any new package unless you find bugs.
236# Since we don't know the actual package versions,
237# we export most of them with default version.
238jre-1.6=\
239 javax.accessibility, \
240 javax.activation, \
241 javax.activity, \
242 javax.annotation.processing, \
243 javax.crypto, \
244 javax.crypto.interfaces, \
245 javax.crypto.spec, \
246 javax.imageio, \
247 javax.imageio.event, \
248 javax.imageio.metadata, \
249 javax.imageio.plugins.bmp, \
250 javax.imageio.plugins.jpeg, \
251 javax.imageio.spi, \
252 javax.imageio.stream, \
253 javax.lang.model, \
254 javax.lang.model.element, \
255 javax.lang.model.type, \
256 javax.lang.model.util, \
257 javax.management, \
258 javax.management.loading, \
259 javax.management.modelmbean, \
260 javax.management.monitor, \
261 javax.management.openmbean, \
262 javax.management.relation, \
263 javax.management.remote, \
264 javax.management.remote.rmi, \
265 javax.management.timer, \
266 javax.naming, \
267 javax.naming.directory, \
268 javax.naming.event, \
269 javax.naming.ldap, \
270 javax.naming.spi, \
271 javax.net, \
272 javax.net.ssl, \
273 javax.print, \
274 javax.print.attribute, \
275 javax.print.attribute.standard, \
276 javax.print.event, \
277 javax.rmi, \
278 javax.rmi.CORBA, \
279 javax.rmi.ssl, \
280 javax.script, \
281 javax.security.auth, \
282 javax.security.auth.callback, \
283 javax.security.auth.kerberos, \
284 javax.security.auth.login, \
285 javax.security.auth.spi, \
286 javax.security.auth.x500, \
287 javax.security.cert, \
288 javax.security.sasl, \
289 javax.sound.midi, \
290 javax.sound.midi.spi, \
291 javax.sound.sampled, \
292 javax.sound.sampled.spi, \
293 javax.sql, \
294 javax.sql.rowset, \
295 javax.sql.rowset.serial, \
296 javax.sql.rowset.spi, \
297 javax.swing, \
298 javax.swing.border, \
299 javax.swing.colorchooser, \
300 javax.swing.event, \
301 javax.swing.filechooser, \
302 javax.swing.plaf, \
303 javax.swing.plaf.basic, \
304 javax.swing.plaf.metal, \
305 javax.swing.plaf.multi, \
306 javax.swing.plaf.synth, \
307 javax.swing.table, \
308 javax.swing.text, \
309 javax.swing.text.html, \
310 javax.swing.text.html.parser, \
311 javax.swing.text.rtf, \
312 javax.swing.tree, \
313 javax.swing.undo, \
314 javax.tools, \
315 javax.transaction; javax.transaction.xa, \
316 javax.xml, \
317 javax.xml.crypto, \
318 javax.xml.crypto.dom, \
319 javax.xml.crypto.dsig, \
320 javax.xml.crypto.dsig.dom, \
321 javax.xml.crypto.dsig.keyinfo, \
322 javax.xml.crypto.dsig.spec, \
323 javax.xml.datatype, \
324 javax.xml.namespace, \
325 javax.xml.parsers, \
326 javax.xml.soap, \
327 javax.xml.stream; javax.xml.stream.events; javax.xml.stream.util, \
328 javax.xml.transform, \
329 javax.xml.transform.dom, \
330 javax.xml.transform.sax, \
331 javax.xml.transform.stax, \
332 javax.xml.transform.stream, \
333 javax.xml.validation, \
334 javax.xml.xpath, \
335 org.ietf.jgss, \
336 org.omg.CORBA, \
337 org.omg.CORBA.DynAnyPackage, \
338 org.omg.CORBA.ORBPackage, \
339 org.omg.CORBA.TypeCodePackage, \
340 org.omg.CORBA.portable, \
341 org.omg.CORBA_2_3, \
342 org.omg.CORBA_2_3.portable, \
343 org.omg.CosNaming, \
344 org.omg.CosNaming.NamingContextExtPackage, \
345 org.omg.CosNaming.NamingContextPackage, \
346 org.omg.Dynamic, \
347 org.omg.DynamicAny, \
348 org.omg.DynamicAny.DynAnyFactoryPackage, \
349 org.omg.DynamicAny.DynAnyPackage, \
350 org.omg.IOP, \
351 org.omg.IOP.CodecFactoryPackage, \
352 org.omg.IOP.CodecPackage, \
353 org.omg.Messaging, \
354 org.omg.PortableInterceptor, \
355 org.omg.PortableInterceptor.ORBInitInfoPackage, \
356 org.omg.PortableServer, \
357 org.omg.PortableServer.CurrentPackage, \
358 org.omg.PortableServer.POAManagerPackage, \
359 org.omg.PortableServer.POAPackage, \
360 org.omg.PortableServer.ServantLocatorPackage, \
361 org.omg.PortableServer.portable, \
362 org.omg.SendingContext, \
363 org.w3c.dom, \
364 org.w3c.dom.bootstrap, \
365 org.w3c.dom.events, \
366 org.w3c.dom.ls, \
367 org.xml.sax, \
368 org.xml.sax.ext, \
369 org.xml.sax.helpers, ${endorsed-standard-packages}
370
371endorsed-standard-packages=\
372 javax.annotation, \
373 javax.xml.bind, \
374 javax.xml.bind.annotation, \
375 javax.xml.bind.annotation.adapters, \
376 javax.xml.bind.attachment, \
377 javax.xml.bind.helpers, \
378 javax.xml.bind.util, \
379 javax.jws, \
380 javax.jws.soap, \
381 javax.xml.ws, \
382 javax.xml.ws.handler, \
383 javax.xml.ws.handler.soap, \
384 javax.xml.ws.http, \
385 javax.xml.ws.soap, \
386 javax.xml.ws.spi, \
387 javax.xml.ws.wsaddressing
388
389#dtrace support
390# TODO: We still need to add appropriate SE packages for 7 & 8.
391jre-1.7=${jre-1.6},com.sun.tracing
392jre-1.8=${jre-1.7}
393jre-9=${jre-1.8}
394
395# Bundle information optimization to improve performance
396felix.cache.singlebundlefile=true
397
398# Set this to true if you want to use JPA in Java SE mode in your OSGi bundles.
399# See GLASSFISH-14134 for more details.
400org.glassfish.osgjpa.extension.useHybridPersistenceProviderResolver=false
401
402# When HybridPersistenceProviderResolver is used, it can be configured to use a cache.
403# Setting the next property to false, disables caching of providers.
404org.glassfish.osgjpa.extension.hybridPersistenceProviderResolver.cachingEnabled=true
405
406# We have stopped using FileInstall to monitor autostart/. Because we can't change domain.xml
407# in 3.1.1, we have to rely on configuring FileInstall using this file.
408felix.fileinstall.dir=${com.sun.aas.instanceRoot}/autodeploy/bundles/
409felix.fileinstall.poll=5000
410felix.fileinstall.log.level=3
411felix.fileinstall.bundles.new.start=true
412felix.fileinstall.bundles.startTransient=true
413felix.fileinstall.disableConfigSave=false
414
415# If we don't set this, when we run our tests in embedded mode, gogo shell stops the framework after running the login command.
416gosh.args=--nointeractive
417
418# New-style generic execution environment capabilities.
419#fix for GLASSFISH-21236
420org.osgi.framework.system.capabilities= \
421 ${eecap-${java.specification.version}}
422 #we are adding eecap entries upto 1.7 as GF is not supported for JDK<1.7
423eecap-9= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
424 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9"
425eecap-1.8= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
426 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8"
427eecap-1.7= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
428 osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7"
429