MessageProducer sender = session.createProducer(jmsTopicProducer); Channel internalChannel = cf.openChannel(context.getSharedChannelPool(), internalChannelName, false, new ChannelListener() {
ProductDefinitionManager pdm = (ProductDefinitionManager) context.getComponentManager() .getLocalComponentById("product-definition-manager"); ProductInstanceManager pim = (ProductInstanceManager) context.getComponentManager() .getLocalComponentById("product-instance-manager"); ProductInstance productInstance = ProductinstanceFactoryImpl.eINSTANCE
@Override public void installIncomingChannel(String externalChannelName, String internalChannelName) { try { Channel internalChannel = cf.openChannel(context.getSharedChannelPool(), internalChannelName, false, null); Topic jmsTopicConsumer = session.createTopic(externalChannelName); MessageConsumer receiver = session.createConsumer(jmsTopicConsumer); receiver.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { try { String payload = ((TextMessage) message).getText(); internalChannel.sendMessage(payload); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }); incoming.put(receiver, internalChannel); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Override public void installIncomingChannel(String externalChannelName, String internalChannelName) { Channel internalChannel = cf.openChannel(context.getSharedChannelPool(), internalChannelName, false, null); try { mqttClient.subscribe(externalChannelName, 2, new IMqttMessageListener() { // TODO: unterscheiden handleNotification/Request @Override public void messageArrived(String topic, MqttMessage message) throws Exception { String mqttPayload = new String(message.getPayload(), StandardCharsets.UTF_8); Notification not = CommFactory.getInstance().createNotification(mqttPayload); internalChannel.sendNotification(not); } }).waitForCompletion(); incoming.put(externalChannelName,internalChannel); } catch (MqttException e) { throw new ProviderException("Cannot subscribe MqttGateway to topic \"" + externalChannelName + "\"", e); } }
CommFactory.getInstance().openChannel(context.getSharedChannelPool(), "worldmodel-manager#out", false, new ChannelListener() { CommFactory.getInstance().openChannel(context.getSharedChannelPool(), "basys-connector#out", false, new ChannelListener() {
@Override public void installOutgoingChannel(String internalChannelName, String externalChannelName) { Channel internalChannel = cf.openChannel(context.getSharedChannelPool(), internalChannelName, false, new ChannelListener() {
@Override protected void connectToBasys() { super.connectToBasys(); ch = CommFactory.getInstance().openChannel(context.getSharedChannelPool(), "worldmodel-manager#out", false, new ChannelListener() { @Override public de.dfki.cos.basys.platform.model.runtime.communication.Response handleRequest(Channel channel, Request req) { return null; } @Override public void handleNotification(Channel channel, Notification not) { try { EObject payload = JsonUtils.fromString(not.getPayload(), EObject.class); if (payload.eClass() .equals(LinebalancingPackage.eINSTANCE.getLineBalancingAssignment())) { assignedResource = (LineBalancingAssignment) payload; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void handleMessage(Channel channel, String msg) { } } ); }