1 | |
package com.aurea.maven.plugins.sonic.utils; |
2 | |
|
3 | |
import com.sonicsw.esb.mgmtapi.ESBAPI; |
4 | |
import com.sonicsw.esb.mgmtapi.ESBAPIFactory; |
5 | |
import com.sonicsw.esb.mgmtapi.config.IConnectionConfig; |
6 | |
import com.sonicsw.esb.mgmtapi.config.IContainerConfig; |
7 | |
import com.sonicsw.esb.mgmtapi.config.IContainerConfigAPI; |
8 | |
import com.sonicsw.esb.mgmtapi.config.IEndpointConfigAPI; |
9 | |
import com.sonicsw.esb.mgmtapi.config.IJMSConnectionConfig; |
10 | |
import com.sonicsw.ma.mgmtapi.config.MgmtException; |
11 | |
import com.sonicsw.mf.mgmtapi.config.IContainerBean; |
12 | |
import com.sonicsw.mx.config.ConfigServiceException; |
13 | |
import com.sonicsw.xqimpl.mgmtapi.config.IXQContainerBean; |
14 | |
import com.sonicsw.xqimpl.mgmtapi.config.XQMgmtBeanFactory; |
15 | |
|
16 | |
|
17 | |
|
18 | |
|
19 | 0 | public class CreateESBContainer { |
20 | |
|
21 | |
|
22 | |
|
23 | |
|
24 | |
|
25 | |
|
26 | |
public static void main(final String[] _args) { |
27 | |
|
28 | 0 | CreateESBContainer cec = new CreateESBContainer(); |
29 | 0 | cec.createContainer(); |
30 | 0 | cec.lookupConnections(); |
31 | 0 | cec.addContainerToMF(); |
32 | 0 | System.exit(0); |
33 | 0 | } |
34 | |
|
35 | |
private void addContainerToMF() { |
36 | |
|
37 | 0 | XQMgmtBeanFactory domain = new XQMgmtBeanFactory(); |
38 | |
try { |
39 | 0 | domain.connect("Domain1", "tcp://localhost:2506", "Administrator", "Administrator"); |
40 | 0 | IContainerBean container = domain.getContainerBean("/Containers/ctKoneMsg"); |
41 | 0 | IXQContainerBean esbContainer = domain.getXQContainerBean("/ESB Containers/TestDomainESB"); |
42 | 0 | IContainerBean.IComponentsType containerComponents = container.getComponents(); |
43 | 0 | IContainerBean.IStartupParams startup = containerComponents.createEntry(); |
44 | 0 | startup.setConfigRef(esbContainer); |
45 | 0 | startup.setAutoStart(true); |
46 | 0 | containerComponents.addEntry("TestDomainESB", startup); |
47 | 0 | domain.saveContainerBean(container); |
48 | 0 | } catch (MgmtException e) { |
49 | |
|
50 | 0 | e.printStackTrace(); |
51 | |
} finally { |
52 | 0 | try { |
53 | 0 | domain.commit(); |
54 | 0 | domain.flush(); |
55 | 0 | domain.disconnect(); |
56 | 0 | } catch (MgmtException e) { |
57 | |
|
58 | 0 | e.printStackTrace(); |
59 | 0 | } catch (ConfigServiceException e) { |
60 | |
|
61 | 0 | e.printStackTrace(); |
62 | 0 | } |
63 | |
|
64 | 0 | System.gc(); |
65 | |
|
66 | 0 | } |
67 | 0 | } |
68 | |
|
69 | |
private void lookupConnections() { |
70 | |
|
71 | |
|
72 | 0 | ESBAPI eapi = null; |
73 | |
try { |
74 | |
|
75 | 0 | ESBAPIFactory efac = ESBAPIFactory.createESBAPIFactory(); |
76 | |
|
77 | |
|
78 | |
|
79 | 0 | eapi = efac.createAPI("Domain1", "tcp://localhost:2506", "Administrator", "Administrator"); |
80 | |
|
81 | |
|
82 | |
|
83 | |
|
84 | |
|
85 | 0 | IEndpointConfigAPI epapi = eapi.getEndpointConfigAPI(); |
86 | |
|
87 | |
|
88 | |
|
89 | 0 | String[] connections = epapi.listConnections(); |
90 | 0 | for (int i = 0; i < connections.length; i++) { |
91 | |
|
92 | 0 | IConnectionConfig iecfg = epapi.getConnectionConfig(connections[i]); |
93 | |
|
94 | 0 | if (connections[i].equals("jms_defaultConnection")) { |
95 | 0 | IJMSConnectionConfig ijms = (IJMSConnectionConfig) iecfg.getAdapter(iecfg.getConnectionType()); |
96 | |
|
97 | 0 | ijms.setBrokerURLs("tcp://localhost:2506"); |
98 | |
} |
99 | 0 | epapi.saveConnection(iecfg); |
100 | |
|
101 | |
} |
102 | |
|
103 | |
|
104 | 0 | } catch (Exception e) { |
105 | |
|
106 | |
} finally { |
107 | 0 | eapi.dispose(); |
108 | 0 | } |
109 | |
|
110 | |
|
111 | 0 | } |
112 | |
|
113 | |
private void createContainer() { |
114 | |
|
115 | 0 | System.out.println("createContainer"); |
116 | 0 | ESBAPI eapi = null; |
117 | |
try { |
118 | 0 | System.out.println("Creating ESB API Factory"); |
119 | 0 | ESBAPIFactory efac = ESBAPIFactory.createESBAPIFactory(); |
120 | 0 | System.out.println("Factory API Created"); |
121 | |
|
122 | 0 | System.out.println("Creating the API Handle"); |
123 | 0 | eapi = efac.createAPI("Domain1", "tcp://localhost:2506", "Administrator", "Administrator"); |
124 | 0 | System.out.println("API Handle Created"); |
125 | |
|
126 | 0 | System.out.println("Creating the Container handle"); |
127 | 0 | IContainerConfigAPI ceapi = eapi.getContainerConfigAPI(); |
128 | 0 | System.out.println("Container handle created"); |
129 | |
|
130 | 0 | System.out.println("Checking if container exists"); |
131 | 0 | IContainerConfig existing = ceapi.getESBContainer("TestDomainESB"); |
132 | 0 | System.out.println("Done Checking"); |
133 | |
|
134 | 0 | if (existing == null) { |
135 | |
|
136 | 0 | System.out.println("Create ESB Container"); |
137 | 0 | IContainerConfig newContainer = ceapi.createESBContainer("TestDomainESB"); |
138 | 0 | System.out.println("Container Created"); |
139 | |
|
140 | 0 | System.out.println("Saving the new ESB Container"); |
141 | 0 | ceapi.saveESBContainer(newContainer); |
142 | 0 | System.out.println("Container Saved"); |
143 | 0 | } else { |
144 | 0 | System.out.println("Container was existing"); |
145 | |
} |
146 | 0 | } catch (Exception e) { |
147 | 0 | System.out.println("Error happened: " + e.getMessage()); |
148 | |
} finally { |
149 | 0 | eapi.dispose(); |
150 | 0 | } |
151 | |
|
152 | 0 | System.out.println("Done"); |
153 | 0 | } |
154 | |
|
155 | |
} |