<?xml version="1.0" encoding="UTF-8"?>
<resources>
<Resource id="MySQL" aliases="myAppDataSourceName" type="DataSource">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/rmannibucau?tcpKeepAlive=true
UserName = ${OPENSHIFT_MYSQL_DB_USERNAME}
Password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
ValidationQuery = SELECT 1
ValidationInterval = 30000
NumTestsPerEvictionRun = 5
TimeBetweenEvictionRuns = 30 seconds
TestWhileIdle = true
MaxActive = 200
</Resource>
</resources>
Application Configuration
application.properties
This file is located in WEB-INF
for a war and META-INF
for an ear.
@Asynchronous
configuration
Default pool size for @Asynchronous
is 5. It can be very small for some applications highly relying on
asynchronism or reactive patterns. Therefore it is possible to customize it adding these entries in application.properties
:
Name | Default | Description |
---|---|---|
AsynchronousPool.Size |
5 |
Core size of the pool |
AsynchronousPool.CorePoolSize |
5 |
Core size of the pool (inherit its default from .Size alias) |
AsynchronousPool.MaximumPoolSize |
5 |
Maximum size of the pool |
AsynchronousPool.QueueSize |
5 |
Maximum size of the pool |
AsynchronousPool.KeepAliveTime |
1 minute |
Thread keep alive duration |
AsynchronousPool.AllowCoreThreadTimeOut |
true |
Should thread timeout |
AsynchronousPool.QueueType |
LINKED (or SYNCHRONOUS if size == 0) |
The type of queue of the pool in ARRAY, LINKED, PRIORITY or SYNCHRONOUS (same behavior as java implementations of the same name) |
AsynchronousPool.ShutdownWaitDuration |
1 minute |
How many time to wait for the pool to shutdown when undeploying the application |
AsynchronousPool.RejectedExecutionHandlerClass |
- |
A fully qualified name of a |
TimerService and @Scheduled
timerStore.class
allows to switch from the in memory (org.apache.openejb.core.timer.MemoryTimerStore
) timer storage
for quartz tasks to a custom implementation (using a database or anything for instance). Constructor can take a TransactionManager
or nothing.
All quartz properties prefixed with org.apache.openejb.quartz.
(instead of org.quartz.
) are passthrough to quartz.
CDI
The boolean openejb.cdi.skip-resource-validation
allows to not validate resources ie @EJB
and @Resource
usages in CDI beans.
All properties understood by OpenWebBeans will also be passthrough to OpenWebBeans from this location, see OWB config for more details.
@WebServiceRef
Name | Description |
---|---|
cxf.jaxws.client.wsFeatures |
Allows to set WSFeature on the client injection. Values is a list (comma separated) of resource id in resources.xml or fully qualified names. |
@Stateless
Name | Description |
---|---|
AccessTimeout or Timeout |
container timeout |
CloseTimeout |
container timeout |
BackgroundStartup |
Don’t create instances in parallel if minimum count is > 0, default to false |
resources.xml
resources.xml
is a tomee.xml using application classloader.
As tomee.xml
it supports filtering so you can use environment variables and system properties, for instance
to use a MySQL database on OpenShift you can do:
resources.xml
supports Resource
, Service
and Container
.
resources.xml
mecanism
resources.xml
resources are still available globally like any tomee.xml
resource.
The actual resource is bound in an application subtree called with the application name and a resource facade is bound in the global naming tree to be able to route the requests depending the application.
Typically if your application is named myapp
and your resource id is myresource
then instead of being registered
as myresource
, it will get registered as myapp/myresource
.
If you get any ambiguity in resource name matching try to fully qualified your resource prefixing it with the application name.