public synchronized JChannelWrapper getJChannel(String channelName, JGroupsBroadcastEndpoint endpoint) throws Exception { JChannelWrapper wrapper = channels.get(channelName); if (wrapper == null) { wrapper = new JChannelWrapper(this, channelName, endpoint.createChannel()); channels.put(channelName, wrapper); if (logger.isTraceEnabled()) logger.trace("Put Channel " + channelName); return wrapper; } if (logger.isTraceEnabled()) logger.trace("Add Ref Count " + channelName); return wrapper.addRef(); }
@Override public synchronized void openClient() throws Exception { if (clientOpened) { return; } internalOpen(); receiver = new JGroupsReceiver(); channel.addReceiver(receiver); clientOpened = true; }
@Override protected synchronized void internalCloseChannel(JChannelWrapper channel) { channel.close(false); } }
@Override public void broadcast(final byte[] data) throws Exception { if (logger.isTraceEnabled()) logger.trace("Broadcasting: BroadCastOpened=" + broadcastOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (broadcastOpened) { org.jgroups.Message msg = new org.jgroups.Message(); msg.setBuffer(data); channel.send(msg); } }
@Override public byte[] receiveBroadcast() throws Exception { if (logger.isTraceEnabled()) logger.trace("Receiving Broadcast: clientOpened=" + clientOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (clientOpened) { return receiver.receiveBroadcast(); } else { return null; } }
public synchronized JChannelManager clear() { for (JChannelWrapper wrapper : channels.values()) { wrapper.closeChannel(); } channels.clear(); setLoopbackMessages(false); return this; }
@Override public synchronized void close(boolean isBroadcast) throws Exception { if (isBroadcast) { broadcastOpened = false; } else { channel.removeReceiver(receiver); clientOpened = false; } internalCloseChannel(channel); }
protected void internalOpen() throws Exception { channel.connect(); }
@Override public void broadcast(final byte[] data) throws Exception { if (logger.isTraceEnabled()) logger.trace("Broadcasting: BroadCastOpened=" + broadcastOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (broadcastOpened) { org.jgroups.Message msg = new org.jgroups.Message(); msg.setBuffer(data); channel.send(msg); } }
@Override public byte[] receiveBroadcast(long time, TimeUnit unit) throws Exception { if (logger.isTraceEnabled()) logger.trace("Receiving Broadcast2: clientOpened=" + clientOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (clientOpened) { return receiver.receiveBroadcast(time, unit); } else { return null; } }
public synchronized void close(boolean closeWrappedChannel) { refCount--; if (logger.isTraceEnabled()) logger.trace(this + "::RefCount-- " + refCount + " on channel " + channelName, new Exception("Trace")); if (refCount == 0) { if (closeWrappedChannel) { closeChannel(); } manager.removeChannel(channelName); } }
@Override public synchronized void close(boolean isBroadcast) throws Exception { if (isBroadcast) { broadcastOpened = false; } else { channel.removeReceiver(receiver); clientOpened = false; } internalCloseChannel(channel); }
protected void internalOpen() throws Exception { channel.connect(); }
@Override public void broadcast(final byte[] data) throws Exception { if (logger.isTraceEnabled()) logger.trace("Broadcasting: BroadCastOpened=" + broadcastOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (broadcastOpened) { org.jgroups.Message msg = new org.jgroups.Message(); msg.setBuffer(data); channel.send(msg); } }
public synchronized JChannelWrapper getJChannel(String channelName, JGroupsBroadcastEndpoint endpoint) throws Exception { JChannelWrapper wrapper = channels.get(channelName); if (wrapper == null) { wrapper = new JChannelWrapper(this, channelName, endpoint.createChannel()); channels.put(channelName, wrapper); if (logger.isTraceEnabled()) logger.trace("Put Channel " + channelName); return wrapper; } if (logger.isTraceEnabled()) logger.trace("Add Ref Count " + channelName); return wrapper.addRef(); }
/** * Closes the channel used in this JGroups Broadcast. * Can be overridden by implementations that use an externally managed channel. * * @param channel */ protected synchronized void internalCloseChannel(JChannelWrapper channel) { channel.close(true); }
@Override public byte[] receiveBroadcast() throws Exception { if (logger.isTraceEnabled()) logger.trace("Receiving Broadcast: clientOpened=" + clientOpened + ", channelOPen=" + channel.getChannel().isOpen()); if (clientOpened) { return receiver.receiveBroadcast(); } else { return null; } }
public synchronized JChannelManager clear() { for (JChannelWrapper wrapper : channels.values()) { wrapper.closeChannel(); } channels.clear(); setLoopbackMessages(false); return this; }
@Override public synchronized void close(boolean isBroadcast) throws Exception { if (isBroadcast) { broadcastOpened = false; } else { channel.removeReceiver(receiver); clientOpened = false; } internalCloseChannel(channel); }
@Override public synchronized void openClient() throws Exception { if (clientOpened) { return; } internalOpen(); receiver = new JGroupsReceiver(); channel.addReceiver(receiver); clientOpened = true; }