I took a look at ActivationSpec properties available on HornetQ. It's more than I thought....
- HornetQ ActivationSpec implementation - https://github.com/hornetq/hornetq/blob/HornetQ_2_3_0_CR2/hornetq-ra/src/main/java/org/hornetq/ra/inflow/HornetQActivationSpec.java
- ConnectionFactoryProperties class which is a super class of HornetQActivationSpec - https://github.com/hornetq/hornetq/blob/HornetQ_2_3_0_CR2/hornetq-ra/src/main/java/org/hornetq/ra/ConnectionFactoryProperties.java
- HornetQActivation class which mainly uses ActivationSpec properties - https://github.com/hornetq/hornetq/blob/HornetQ_2_3_0_CR2/hornetq-ra/src/main/java/org/hornetq/ra/inflow/HornetQActivation.java
[A list of ActivationSpec properties]
- JCA recommended set of ActivationSpec properties
- Required. queue name
- Required. javax.jms.Queue or javax.jms.Topic
- Optional. selector string
- Optional. Auto-acknowledge or Dups-ok-acknowledge. Auto-acknowledge by default.
- Optional. only available if target destination is Topic. String value "Durable" or "NonDurable" indicates if subscription should be durable or not. NonDurable by default.
- Required for Topic durable subscription. The identifier to identify each durable subscribers. endpoint deployer must ensure the id is unique.
- sounds like SwitchYard runtime should generate this automatically...?
- Required for Topic durable subscription. endpoint deployer must ensure the id is unique.
- HornetQ specific ActivationSpec properties
- shareSubscriptions, user, password, transactionTimeout, useJNDI, jndiParams, maxSession(maybe EJB standard?), useLocalTx, setupAttempts, setupInterval, connectorClassName, connectionParameters
- and more! (HornetQActivationSpec extends ConnectionFactoryProperties, so all of ConnectionFactory properties can be specified like ha, discoveryAddress, discoveryPort, and etc..)
If we're just thinking about default settings from tooling, I would choose JCA recommended + maxSession to set. I believe user could specify other parameters by himself if it's really needed.