2 // ============LICENSE_START=======================================================
3 // Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 // ================================================================================
5 // This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
6 // Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
8 // SPDX-License-Identifier: CC-BY-4.0
9 // ============LICENSE_END=========================================================
11 // @author Sven van der Meer (sven.van.der.meer@ericsson.com)
16 APEX supports the Java Messaging Service (JMS) as input as well as output.
17 JMS IO is supported by the APEX JMS plugin.
18 Input and output support an event encoding as text (JSON string) or object (serialized object).
19 The input configuration is the same for both encodings, the output configuration differs.
24 APEX will receive events from a JMS messaging system.
25 The input is uni-directional, an engine will only receive events from the input but not send any event to the input.
29 "carrierTechnologyParameters" : {
30 "carrierTechnology" : "JMS", <1>
31 "parameterClassName" :
32 "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
34 "initialContextFactory" :
35 "org.jboss.naming.remote.client.InitialContextFactory", <3>
36 "connectionFactory" : "ConnectionFactory", <4>
37 "providerURL" : "remote://localhost:5445", <5>
38 "securityPrincipal" : "guest", <6>
39 "securityCredentials" : "IAmAGuest", <7>
40 "consumerTopic" : "jms/topic/apexIn" <8>
45 <1> set JMS as carrier technology
46 <2> set all JMS specific parameters
47 <3> the context factory, in this case from JBOSS (it requires the dependency org.jboss:jboss-remote-naming:2.0.4.Final or a different version to be in the directory `$APEX_HOME/lib` or `%APEX_HOME%\lib`
48 <4> a connection factory for the JMS connection
49 <5> URL with host and port of the JMS provider
50 <6> access credentials, user name
51 <7> access credentials, user password
52 <8> the JMS topic to listen to
55 === JMS Output with Text
57 APEX engine send events to a JMS messaging system.
58 The output is uni-directional, an engine will send events to the output but not receive any event from output.
62 "carrierTechnologyParameters" : {
63 "carrierTechnology" : "JMS", <1>
64 "parameterClassName" :
65 "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
67 "initialContextFactory" :
68 "org.jboss.naming.remote.client.InitialContextFactory", <3>
69 "connectionFactory" : "ConnectionFactory", <4>
70 "providerURL" : "remote://localhost:5445", <5>
71 "securityPrincipal" : "guest", <6>
72 "securityCredentials" : "IAmAGuest", <7>
73 "producerTopic" : "jms/topic/apexOut", <8>
74 "objectMessageSending": "false" <9>
79 <1> set JMS as carrier technology
80 <2> set all JMS specific parameters
81 <3> the context factory, in this case from JBOSS (it requires the dependency org.jboss:jboss-remote-naming:2.0.4.Final or a different version to be in the directory `$APEX_HOME/lib` or `%APEX_HOME%\lib`
82 <4> a connection factory for the JMS connection
83 <5> URL with host and port of the JMS provider
84 <6> access credentials, user name
85 <7> access credentials, user password
86 <8> the JMS topic to write to
87 <9> set object messaging to `false` means it sends JSON text
90 === JMS Output with Object
92 To configure APEX for JMS objects on the output interface use the same configuration as above (for output).
93 Simply change the `objectMessageSending` parameter to `true`.