The glassfish cookbook installs and configures the GlassFish application server and the OpenMQ message broker bundled with the GlassFish application server. The cookbook also defines resources to create and configure GlassFish application domains and OpenMQ broker instances.
NOTE: If using chef client 12.5 or later then you will need to include the compat_resource
cookbook as the
chef client changed the resource API between versions 12.4 and 12.5. If you are using chef-server then it is necessary
that the cookbook is uploaded to the server. A simpler solution may be to create a wrapper cookbook that depends on
both the glassfish
and compat_resource
cookbooks.
A sample project with a Vagrantfile that launches a glassfish instance is available in chef-glassfish-example project.
- ubuntu
- compat_resource
- java
- authbind
node['glassfish']['user']
- GlassFish User: The user that GlassFish executes as. Defaults toglassfish
.node['glassfish']['group']
- GlassFish Admin Group: The group allowed to manage GlassFish domains. Defaults toglassfish-admin
.node['glassfish']['version']
- Version: The version of the GlassFish install package. Defaults to4.0
.node['glassfish']['variant']
- variant: The variant of the GlassFish install package. Usually payara or glassfish. Defaults toglassfish
.node['glassfish']['package_url']
- Package URL: The url to the GlassFish install package. Defaults tonil
.node['glassfish']['base_dir']
- GlassFish Base Directory: The base directory of the GlassFish install. Defaults to/usr/local/glassfish
.node['glassfish']['install_dir']
- GlassFish Install Directory: The directory into which glassfish is actually installed. Defaults tonil
.node['glassfish']['remove_domains_dir_on_install']
- A flag determining whether we should remove the domains directory. Defaults totrue
.node['glassfish']['domains_dir']
- GlassFish Domain Directory: The directory containing all the domain instance data and configuration. Defaults to/srv/glassfish
.node['glassfish']['domains']
- GlassFish Domain Definitions: A map of domain definitions that drive the instantiation of a domain. Defaults toMash.new
.node['glassfish']['asadmin']['timeout']
- Asadmin Timeout: The timeout in seconds set for asadmin calls. Defaults to150
.node['openmq']['extra_libraries']
- Extract libraries for the OpenMQ Broker: A list of URLs to jars that are added to brokers classpath. Defaults toMash.new
.node['openmq']['instances']
- GlassFish OpenMQ Broker Definitions: A map of broker definitions that drive the instantiation of a OpenMQ broker. Defaults toMash.new
.node['openmq']['var_home']
- GlassFish OpenMQ Broker Directory: The directory containing all the broker instance data and configuration. Defaults to/var/omq
.
- glassfish::attribute_driven_domain - Configures 0 or more GlassFish domains using the glassfish/domains attribute.
- glassfish::attribute_driven_mq - Configures 0 or more GlassFish OpenMQ brokers using the openmq/instances attribute.
- glassfish::default - Downloads, and extracts the glassfish binaries, creates the glassfish user and group.
- glassfish::search_driven_domain - Configures 0 or more GlassFish domains using search to generate the configuration.
Configures 0 or more GlassFish domains using the glassfish/domains attribute.
The attribute_driven_domain
recipe interprets attributes on the node and defines the resources described in the attributes.
A typical approach is to define the configuration for the entire application on the node and include the recipe. Another approach using a vagrant file is to set the json attribute such as;
chef.json = {
"java" => {
"install_flavor" => "oracle",
"jdk_version" => 7,
"oracle" => {
"accept_oracle_download_terms" => true
}
},
"glassfish" => {
"version" => "4.0.1",
"package_url" => "http://dlc.sun.com.edgesuite.net/glassfish/4.0.1/promoted/glassfish-4.0.1-b01.zip",
"base_dir" => "/usr/local/glassfish",
"domains_dir" => "/usr/local/glassfish/glassfish/domains",
"domains" => {
"myapp" => {
"config" => {
"min_memory" => 1024,
"max_memory" => 1024,
"max_perm_size" => 256,
"port" => 7070,
"admin_port" => 4848,
"username" => "adminuser",
"password" => "adminpw",
"master_password" => "mykeystorepassword",
"remote_access" => false,
"jvm_options" => ["-DMYAPP_CONFIG_DIR=/usr/local/myapp/config", "-Dcom.sun.enterprise.tools.admingui.NO_NETWORK=true"],
"secure" => false
},
'extra_libraries' => {
'realm' => {
'type' => 'common',
'url' => 'https://s3.amazonaws.com/somebucket/lib/realm.jar',
'requires_restart' => true
},
'jdbcdriver' => {
'type' => 'common',
'url' => 'https://s3.amazonaws.com/somebucket/lib/mysql-connector-java-5.1.25-bin.jar'
},
'encryption' => {
'type' => 'common',
'url' => 'https://s3.amazonaws.com/somebucket/lib/jasypt-1.9.0.jar'
}
},
'threadpools' => {
'thread-pool-1' => {
'maxthreadpoolsize' => 200,
'minthreadpoolsize' => 5,
'idletimeout' => 900,
'maxqueuesize' => 4096
},
'http-thread-pool' => {
'maxthreadpoolsize' => 200,
'minthreadpoolsize' => 5,
'idletimeout' => 900,
'maxqueuesize' => 4096
},
'admin-pool' => {
'maxthreadpoolsize' => 50,
'minthreadpoolsize' => 5,
'maxqueuesize' => 256
}
},
'iiop_listeners' => {
'orb-listener-1' => {
'enabled' => true,
'iiopport' => 1072,
'securityenabled' => false
}
},
'context_services' => {
'concurrent/MyAppContextService' => {
'description' => 'My Apps ContextService'
}
},
'managed_thread_factories' => {
'concurrent/myThreadFactory' => {
'threadpriority' => 12,
'description' => 'My Thread Factory'
}
},
'managed_executor_services' => {
'concurrent/myExecutorService' => {
'threadpriority' => 12,
'description' => 'My Executor Service'
}
},
'managed_scheduled_executor_services' => {
'concurrent/myScheduledExecutorService' => {
'corepoolsize' => 12,
'description' => 'My Executor Service'
}
},
'jdbc_connection_pools' => {
'RealmPool' => {
'config' => {
'datasourceclassname' => 'com.mysql.jdbc.jdbc2.optional.MysqlDataSource',
'restype' => 'javax.sql.DataSource',
'isconnectvalidatereq' => 'true',
'validationmethod' => 'auto-commit',
'ping' => 'true',
'description' => 'Realm Pool',
'properties' => {
'Instance' => "jdbc:mysql://devdb.somecompany.com:3306/realmdb",
'ServerName' => "devdb.somecompany.com",
'User' => 'realmuser',
'Password' => 'realmpw',
'PortNumber' => '3306',
'DatabaseName' => 'realmdb'
}
},
'resources' => {
'jdbc/Realm' => {
'description' => 'Resource for Realm Pool',
}
}
},
'AppPool' => {
'config' => {
'datasourceclassname' => 'com.mysql.jdbc.jdbc2.optional.MysqlDataSource',
'restype' => 'javax.sql.DataSource',
'isconnectvalidatereq' => 'true',
'validationmethod' => 'auto-commit',
'ping' => 'true',
'description' => 'App Pool',
'properties' => {
'Instance' => "jdbc:mysql://devdb.somecompany.com:3306/appdb",
'ServerName' => "devdb.somecompany.com",
'User' => 'appuser',
'Password' => 'apppw',
'PortNumber' => '3306',
'DatabaseName' => 'appdb'
}
},
'resources' => {
'jdbc/App' => {
'description' => 'Resource for App Pool',
}
}
}
},
'realms' => {
'custom-realm' => {
'classname' => 'com.somecompany.realm.CustomRealm',
'jaas-context' => 'customRealm',
'properties' => {
'jaas-context' => 'customRealm',
'datasource' => 'jdbc/Realm',
'groupQuery' => 'SELECT ...',
'passwordQuery' => 'SELECT ...'
}
}
},
'realm_types' => {
'customRealm' => 'com.somecompany.realm.CustomLoginModule'
},
'deployables' => {
'myapp' => {
'url' => 'https://s3.amazonaws.com/somebucket/apps/app.war',
'context_root' => '/'
}
},
"custom_resources" => {
"env/myapp/timeout" => {
"restype" => "java.lang.Long",
"value" => 300000
},
"env/myapp/mykey" => "123",
"env/myapp/someString" => "XYZ"
}
}
}
}
Configures 0 or more GlassFish OpenMQ brokers using the openmq/instances attribute.
The attribute_driven_mq
recipe interprets attributes on the node and defines the resources described in the attributes.
Downloads, and extracts the glassfish binaries, creates the glassfish user and group.
Does not create any Application Server or Message Broker instances. This recipe is not
typically included directly but is included transitively through either glassfish::attribute_driven_domain
or glassfish::attribute_driven_mq
.
Configures 0 or more GlassFish domains using search to generate the configuration.
- glassfish_admin_object
- glassfish_asadmin - Asadmin is the command line application used to manage a GlassFish application server.
- glassfish_auth_realm
- glassfish_connector_connection_pool
- glassfish_connector_resource
- glassfish_context_service
- glassfish_custom_resource
- glassfish_deployable
- glassfish_domain - Creates a GlassFish application domain, creates an OS-level service and starts the service.
- glassfish_iiop_listener
- glassfish_instance - Creates a GlassFish server instance in the domain configuration.
- glassfish_javamail_resource
- glassfish_jdbc_connection_pool
- glassfish_jdbc_resource
- glassfish_jms_destination
- glassfish_jms_resource
- glassfish_jvm_options
- glassfish_library
- glassfish_managed_executor_service
- glassfish_managed_scheduled_executor_service
- glassfish_managed_thread_factory
- glassfish_mq - Creates an OpenMQ message broker instance, creates an OS-level service and starts the service.
- glassfish_mq_destination - Creates or deletes a queue or a topic in an OpenMQ message broker instance.
- glassfish_mq_ensure_running - Ensures that a OpenMQ message broker instance has had a chance to finish starting before proceeding.
- glassfish_property
- glassfish_property_cache
- glassfish_resource_adapter
- glassfish_secure_admin - Enable or disable secure admin flag on the GlassFish server which enables/disables remote administration.
- glassfish_thread_pool
- glassfish_web_env_entry - Set a value that can be retrieved as a
web env entry
in a particular web application.
- create: Default action.
- delete:
- jndi_name:
- raname:
- restype:
- enabled: Defaults to
true
. - target: Defaults to
"server"
. - classname: Defaults to
nil
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Asadmin is the command line application used to manage a GlassFish application server. Typically this resource is used when there is not yet a resource defined in this cookbook for executing an underlying command on the server.
- run: Execute the command. Default action.
- command: The command to execute.
- returns: A return code or an array of return codes that are considered successful completions. Defaults to
0
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
# List all the domains on the server
glassfish_asadmin "list-domains" do
domain_name 'my_domain'
end
- create: Default action.
- delete:
- realm_name:
- target: Defaults to
"server"
. - classname:
- jaas_context: Defaults to
nil
. - assign_groups: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- pool_name:
- description: Defaults to
nil
. - raname:
- connectiondefinition:
- steadypoolsize: Defaults to
nil
. - maxpoolsize: Defaults to
nil
. - maxwait: Defaults to
nil
. - poolresize: Defaults to
nil
. - idletimeout: Defaults to
nil
. - leaktimeout: Defaults to
nil
. - validateatmostonceperiod: Defaults to
nil
. - maxconnectionusagecount: Defaults to
nil
. - creationretryattempts: Defaults to
nil
. - creationretryinterval: Defaults to
nil
. - isconnectvalidatereq: Defaults to
nil
. - failconnection: Defaults to
nil
. - leakreclaim: Defaults to
nil
. - lazyconnectionenlistment: Defaults to
nil
. - lazyconnectionassociation: Defaults to
nil
. - associatewiththread: Defaults to
nil
. - matchconnections: Defaults to
nil
. - ping: Defaults to
nil
. - pooling: Defaults to
nil
. - properties: Defaults to
{}
. - transactionsupport:
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- resource_name:
- poolname:
- enabled: Defaults to
true
. - target: Defaults to
"server"
. - objecttype: Defaults to
nil
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to
true
. - contextinfoenabled: Defaults to
true
. - contextinfo: Descriptive details about the resource. Defaults to
"Classloader,JNDI,Security,WorkArea"
. - description:
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - restype: Defaults to
"java.lang.String"
. - factoryclass: Defaults to
"org.glassfish.resources.custom.factory.PrimitivesAndStringFactory"
. - enabled: Defaults to
true
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - value: Defaults to
nil
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- deploy: Default action.
- disable:
- enable:
- undeploy:
- component_name:
- version: Defaults to
nil
. - target: Defaults to
"server"
. - url: Defaults to
nil
. - enabled: Defaults to
true
. - type: Defaults to
nil
. - context_root: Defaults to
nil
. - virtual_servers: Defaults to
[]
. - generate_rmi_stubs: Defaults to
false
. - availability_enabled: Defaults to
false
. - lb_enabled: Defaults to
true
. - keep_state: Defaults to
false
. - verify: Defaults to
false
. - precompile_jsp: Defaults to
true
. - async_replication: Defaults to
true
. - properties: Defaults to
{}
. - descriptors: Defaults to
{}
. - libraries: Array of JAR file names deployed as applibs which are used by this deployable. Defaults to
[]
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Creates a GlassFish application domain, creates an OS-level service and starts the service.
- create: Create the domain, enable and start the associated service. Default action.
- destroy: Stop the associated service and delete the domain directory and associated artifacts.
- min_memory: Defaults to
512
. - max_memory: The amount of heap memory to allocate to the domain in MiB. Defaults to
512
. - max_perm_size: The amount of perm gen memory to allocate to the domain in MiB. Defaults to
96
. - max_stack_size: The amount of stack memory to allocate to the domain in KiB. Defaults to
350
. - port: The port on which the HTTP service will bind. Defaults to
8080
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - extra_jvm_options: An array of extra arguments to pass the JVM. Defaults to
[]
. - java_agents: An array of javaagent arguments to pass the JVM. Defaults to
[]
. - env_variables: A hash of environment variables set when running the domain. Defaults to
{}
. - portbase: Portbase from which port and admin_port are automatically calculated. Warning: This can't be used together with admin_port.
- systemd_enabled: is a boolean value to use systemd or not. Defaults to
false
. - systemd_start_timeout: is an integer value which sets the service start timeout in seconds. Defaults to
90
. - systemd_stop_timeout: is an integer value which sets the service stop timeout in seconds. Defaults to
90
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - master_password: Password used to access the keystore. Defaults to password if unset. Defaults to
nil
. - password: Password to use when communicating with the domain. Must be set if username is set. Defaults to
nil
. - password_file: The file in which the password is saved. Should be set if username is set. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - logging_properties: A hash of properties that will be merged into logging.properties. Use this to send logs to syslog or graylog. Defaults to
{}
. - realm_types: A map of names to realm implementation classes that is merged into the default realm types. Defaults to
{}
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
# Create a basic domain that logs to a central graylog server
glassfish_domain "my_domain" do
port 80
admin_port 8103
extra_libraries ['http://central.maven.org/maven2/org/realityforge/gelf4j/gelf4j/1.10/gelf4j-1.10-all.jar']
logging_properties {
"handlers" => "java.util.logging.ConsoleHandler, gelf4j.logging.GelfHandler",
".level" => "INFO",
"java.util.logging.ConsoleHandler.level" => "INFO",
"gelf4j.logging.GelfHandler.level" => "ALL",
"gelf4j.logging.GelfHandler.host" => 'graylog.example.org',
"gelf4j.logging.GelfHandler.defaultFields" => '{"environment": "' + node.chef_environment + '", "facility": "MyDomain"}'
}
end
- create: Default action.
- delete:
- iioplistener_id:
- target: Defaults to
"server"
. - listeneraddress: Either the IP address or the hostname (resolvable by DNS).
- iiopport: The IIOP port number. Defaults to
1072
. - securityenabled: If set to true, the IIOP listener runs SSL. You can turn SSL2 or SSL3 ON or OFF and set ciphers using an SSL element. The security setting globally enables or disables SSL by making certificates available to the server instance. Defaults to
false
. - enabled: If set to true, the IIOP listener is enabled at runtime. Defaults to
true
. - properties: Optional attribute name/value pairs for configuring the IIOP listener. Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Creates a GlassFish server instance in the domain configuration.
- create: Create the instance and start it.. Default action.
- delete: Stop the instance if running and remove it from the config.
- instance_name:
- node_name:
- config_name:
- lbenabled:
- portbase:
- checkports:
- systemproperties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
# Create a standalone Glassfish instance
glassfish_instance "Myserver" do
node_name 'localhost-domain1'
lbenabled false
end
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - mailhost:
- mailuser:
- fromaddress:
- storeprotocol:
- storeprotocolclass:
- transprotocol:
- transprotocolclass:
- debug: Defaults to
nil
. - enabled: Defaults to
true
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- pool_name:
- datasourceclassname: Defaults to
""
. - initsql: Defaults to
""
. - sqltracelisteners: Defaults to
""
. - driverclassname: Defaults to
""
. - validationclassname: Defaults to
""
. - validationtable: Defaults to
""
. - steadypoolsize: Defaults to
8
. - maxpoolsize: Defaults to
32
. - maxwait: Defaults to
60000
. - poolresize: Defaults to
2
. - idletimeout: Defaults to
300
. - validateatmostonceperiod: Defaults to
0
. - leaktimeout: Defaults to
0
. - statementleaktimeout: Defaults to
0
. - creationretryattempts: Defaults to
0
. - creationretryinterval: Defaults to
10
. - statementtimeout: Defaults to
-1
. - maxconnectionusagecount: Defaults to
0
. - statementcachesize: Defaults to
0
. - isisolationguaranteed: Defaults to
true
. - isconnectvalidatereq: Defaults to
true
. - failconnection: Defaults to
false
. - allownoncomponentcallers: Defaults to
false
. - nontransactionalconnections: Defaults to
false
. - statmentleakreclaim: Defaults to
false
. - leakreclaim: Defaults to
false
. - lazyconnectionenlistment: Defaults to
false
. - lazyconnectionassociation: Defaults to
false
. - associatewiththread: Defaults to
false
. - matchconnections: Defaults to
false
. - ping: Defaults to
true
. - pooling: Defaults to
true
. - wrapjdbcobjects: Defaults to
true
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - restype: Defaults to
nil
. - isolationlevel:
- validationmethod:
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- resource_name:
- connectionpoolid:
- enabled: Defaults to
true
. - target: Defaults to
"server"
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- name:
- desttype: Defaults to
"queue"
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- name:
- target: Defaults to
"server"
. - restype: Defaults to
"javax.jms.Queue"
. - enabled: Defaults to
true
. - description: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- set: Default action.
- target: Defaults to
"server"
. - options: Defaults to
[]
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- add: Default action.
- remove:
- url:
- library_type: Defaults to
"common"
. - upload: Defaults to
true
. - requires_restart: Defaults to
false
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to
true
. - contextinfoenabled: Defaults to
true
. - contextinfo: Descriptive details about the resource. Defaults to
"Classloader,JNDI,Security,WorkArea"
. - description:
- threadpriority: Specifies the priority to assign to created threads. Defaults to
5
. - longrunningtasks: Specifies whether the resource should be used for long-running tasks. If set to true, long-running tasks are not reported as stuck. Defaults to
false
. - hungafterseconds: Specifies the number of seconds that a task can execute before it is considered unresponsive. If the value is 0 tasks are never considered unresponsive. Defaults to
0
. - corepoolsize: Specifies the number of threads to keep in a thread pool, even if they are idle. Defaults to
0
. - maximumpoolsize: Specifies the maximum number of threads that a thread pool can contain. Defaults to
2147483647
. - keepaliveseconds: Specifies the number of seconds that threads can remain idle when the number of threads is greater than corepoolsize. Defaults to
60
. - threadlifetimeseconds: Specifies the number of seconds that threads can remain in a thread pool before being purged, regardless of whether the number of threads is greater than corepoolsize or whether the threads are idle. The value of 0 means that threads are never purged. Defaults to
0
. - taskqueuecapacity: Specifies the number of submitted tasks that can be stored in the task queue awaiting execution. Defaults to
2147483647
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to
true
. - contextinfoenabled: Defaults to
true
. - contextinfo: Descriptive details about the resource. Defaults to
"Classloader,JNDI,Security,WorkArea"
. - description:
- threadpriority: Specifies the priority to assign to created threads. Defaults to
5
. - longrunningtasks: Specifies whether the resource should be used for long-running tasks. If set to true, long-running tasks are not reported as stuck. Defaults to
false
. - hungafterseconds: Specifies the number of seconds that a task can execute before it is considered unresponsive. If the value is 0 tasks are never considered unresponsive. Defaults to
0
. - corepoolsize: Specifies the number of threads to keep in a thread pool, even if they are idle. Defaults to
0
. - keepaliveseconds: Specifies the number of seconds that threads can remain idle when the number of threads is greater than corepoolsize. Defaults to
60
. - threadlifetimeseconds: Specifies the number of seconds that threads can remain in a thread pool before being purged, regardless of whether the number of threads is greater than corepoolsize or whether the threads are idle. The value of 0 means that threads are never purged. Defaults to
0
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- jndi_name:
- target: Defaults to
"server"
. - enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to
true
. - contextinfoenabled: Defaults to
true
. - contextinfo: Descriptive details about the resource. Defaults to
"Classloader,JNDI,Security,WorkArea"
. - description:
- threadpriority: Specifies the priority to assign to created threads. Defaults to
5
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Creates an OpenMQ message broker instance, creates an OS-level service and starts the service.
- create: Create the message broker instance, enable and start the associated service. Default action.
- destroy: Stop the associated service and delete the instance directory and associated artifacts.
- max_memory: The amount of heap memory to allocate to the domain in MiB. Defaults to
512
. - max_stack_size: The amount of stack memory to allocate to the domain in KiB. Defaults to
250
. - instance: The name of the broker instance.
- users: A map of users to passwords for interacting with the service. Defaults to
{}
. - access_control_rules: An access control list of patterns to users. Defaults to
{}
. - logging_properties: A hash of properties that will be merged into logging.properties. Use this to send logs to syslog or graylog. Defaults to
{"handlers"=>"java.util.logging.ConsoleHandler", ".level"=>"INFO", "java.util.logging.ConsoleHandler.level"=>"INFO"}
. - config: A map of key-value properties that are merged into the OpenMQ configuration file. Defaults to
{}
. - queues: A map of queue names to queue properties. Defaults to
{}
. - topics: A map of topic names to topic properties. Defaults to
{}
. - jmx_admins: A map of username to password for read-write JMX admin interface. Ignored unless jmx_port is specified. Defaults to
{}
. - jmx_monitors: A map of username to password for read-only JMX admin interface. Ignored unless jmx_port is specified. Defaults to
{}
. - admin_user: The user in the users map that is used during administration. Defaults to
"imqadmin"
. - port: The port for the portmapper to bind. Defaults to
7676
. - admin_port: The port on which admin service will bind. Defaults to
7677
. - jms_port: The port on which jms service will bind. Defaults to
7678
. - jmx_port: The port on which jmx service will bind. If not specified, no jmx service will be exported. Defaults to
nil
. - rmi_port: The port on which rmi service will bind. If not specified, a random port will be used. Typically used to lock down port for jmx access through firewalls. Defaults to
nil
. - stomp_port: The port on which the stomp service will bind. If not specified, no stomp service will execute. Defaults to
nil
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
. - init_style: The init system used to run the service. Defaults to
"upstart"
.
# Create a basic mq broker instance
glassfish_mq "MessageBroker" do
port 80
jmx_port 8089
jmx_admins { 'admin' => 'secret1' }
jmx_monitors { 'monitoring_system' => 'secret2' }
logging_properties {
"handlers" => "java.util.logging.ConsoleHandler, gelf4j.logging.GelfHandler",
".level" => "INFO",
"java.util.logging.ConsoleHandler.level" => "INFO",
"gelf4j.logging.GelfHandler.level" => "ALL",
"gelf4j.logging.GelfHandler.host" => 'graylog.example.org',
"gelf4j.logging.GelfHandler.defaultFields" => '{"environment": "' + node.chef_environment + '", "facility": "MyInstance"}'
}
users { 'MyApp' => 'MyAppsPassword', 'MyOtherApp' => 'S3Cr37' }
queues { 'MySystem.MyMessageQueue' => {'XMLSchemaURIList' => 'http://example.com/...'} }
access_control_rules {
'queue.MySystem.MyMessageQueue.browse.allow.user' => '*',
'queue.MySystem.MyMessageQueue.produce.allow.user' => 'MyApp',
'queue.MySystem.MyMessageQueue.consume.allow.user' => 'MyOtherApp'
}
end
Creates or deletes a queue or a topic in an OpenMQ message broker instance.
- create: Create the destination. Default action.
- destroy: Destroy the destination.
- destination_name: The name of the destination.
- queue: True if the destination is a queue, false for a topic.
- config: The configuration settings for queue. Valid properties include those exposed by JMX. Also supports the key 'schema' containing a URL which expands to 'validateXMLSchemaEnabled=true' and 'XMLSchemaURIList=$uri'. Defaults to
{}
. - host: The host of the OpenMQ message broker instance.
- port: The port of the portmapper service in message broker instance.
- username: The username used to connect to message broker. Defaults to
"imqadmin"
. - passfile: The filename of a property file that contains a password for admin user set using the property "imq.imqcmd.password".
- system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
# Create a queue destination
glassfish_destination "MySystem.MyMessageQueue" do
queue true
config {'schema' => 'http://example.org/MyMessageFormat.xsd'}
host "localhost"
port 7676
username 'imqadmin'
passfile '/etc/omq/omqadmin.pass'
end
Ensures that a OpenMQ message broker instance has had a chance to finish starting before proceeding.
- run: Block until the broker has come online. Default action.
- host: The host on which the broker runs.
- port: The port on which the broker listens.
# Wait for OpenMQ broker to start
glassfish_mq_ensure_running "wait for broker" do
host "localhost"
port 7676
end
- set: Default action.
- key:
- value:
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
- create: Default action.
- delete:
- resource_adapter_name:
- threadpoolid: Defaults to
nil
. - objecttype: Defaults to
nil
. - properties: Defaults to
{}
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Enable or disable secure admin flag on the GlassFish server which enables/disables remote administration.
- enable: Enable remote access/secure admin. Default action.
- disable: Disable remote access/secure admin.
- domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
glassfish_secure_admin "My Domain Remote Access" do
action :enable
end
- create: Default action.
- delete:
- threadpool_id:
- target: Defaults to
"server"
. - maxthreadpoolsize: Specifies the maximum number of threads the pool can contain. Defaults to
5
. - minthreadpoolsize: Specifies the minimum number of threads in the pool. These are created when the thread pool is instantiated. Defaults to
2
. - idletimeout: Specifies the amount of time in seconds after which idle threads are removed from the pool. Defaults to
900
. - maxqueuesize: Specifies the maximum number of messages that can be queued until threads are available to process them for a network listener or IIOP listener. A value of -1 specifies no limit. Defaults to
4096
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
Set a value that can be retrieved as a web env entry
in a particular web application. This resource is idempotent and
will not set the entry if it already exists and has the same value. Nil values can be specified. The java type of the
value must also be specified.
- set: Set the value as entry. Default action.
- unset: Remove the entry.
- webapp: The name of the web application name.
- name: The key name of the web env entry.
- type: The java type name of env entry. Defaults to
"java.lang.String"
. - value: The value of the entry. Defaults to
nil
. - description: A description of the entry. Defaults to
nil
. - domain_name: The name of the domain.
- terse: Use terse output from the underlying asadmin. Defaults to
false
. - echo: If true, echo commands supplied to asadmin. Defaults to
true
. - username: The username to use when communicating with the domain. Defaults to
nil
. - password_file: The file in which the password must be stored assigned to appropriate key. Defaults to
nil
. - secure: If true use SSL when communicating with the domain for administration. Defaults to
false
. - admin_port: The port on which the web management console is bound. Defaults to
4848
. - system_user: The user that the domain executes as. Defaults to
node['glassfish']['user']
if unset. Defaults tonil
. - system_group: The group that the domain executes as. Defaults to
node['glassfish']['group']
if unset. Defaults tonil
.
glassfish_web_env_entry "Set IntegrationServerURL" do
domain_name 'my_domain'
name 'IntegrationServerURL'
value 'http://example.com/Foo'
type 'java.lang.String'
end
Maintainer:: Peter Donald
License:: Apache 2.0