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