* First configure a JavaMail Session for the Server to bind into JNDI; this
* will be used by our MailService EJB. In a production environment, we'll likely have configured
* the server before it was started to point to a real SMTP server
*/
final ModelControllerClient client = managementClient.getControllerClient();
final ModelNode composite = Util.getEmptyOperation(COMPOSITE, new ModelNode());
final ModelNode steps = composite.get(STEPS);
final ModelNode createSocketBindingOperation = new ModelNode();
createSocketBindingOperation.get("operation").set("add");
createSocketBindingOperation.get("host").set("localhost");
createSocketBindingOperation.get("port").set(25000);
final ModelNode socketBindingAddress = createSocketBindingOperation.get("address");
socketBindingAddress.add("socket-binding-group", "standard-sockets");
socketBindingAddress.add("remote-destination-outbound-socket-binding", "mail-smtp-25000");
steps.add(createSocketBindingOperation);
final ModelNode createMailServiceOperation = new ModelNode();
createMailServiceOperation.get("operation").set("add");
createMailServiceOperation.get("jndi-name").set(SMTPMailServiceConstants.JNDI_BIND_NAME_MAIL_SESSION);
createMailServiceOperation.get("debug").set("false");
final ModelNode smtpAddress = createMailServiceOperation.get("address");
smtpAddress.add("subsystem", "mail");
smtpAddress.add("mail-session", SMTPMailServiceConstants.JNDI_BIND_NAME_MAIL_SESSION);
steps.add(createMailServiceOperation);
final ModelNode createSMTPServer = new ModelNode();
createSMTPServer.get("operation").set("add");
createSMTPServer.get("outbound-socket-binding-ref").set("mail-smtp-25000");
final ModelNode smtpServerAddress = createSMTPServer.get("address");
smtpServerAddress.add("subsystem", "mail");
smtpServerAddress.add("mail-session", SMTPMailServiceConstants.JNDI_BIND_NAME_MAIL_SESSION);
smtpServerAddress.add("server", "smtp");
steps.add(createSMTPServer);
System.out.println("Configure mail service :" + client.execute(composite));
/*
* With the config all set and dependencies in place, now we can deploy
*/