@Override public String sendMessage( final Map<String, String> headers, final int type, final String body, final String userID, boolean durable, final String user, final String password) throws Exception { securityStore.check( queue.getAddress(), CheckType.SEND, new SecurityAuth() { @Override public String getUsername() { return user; } @Override public String getPassword() { return password; } @Override public RemotingConnection getRemotingConnection() { return null; } }); ServerMessageImpl message = new ServerMessageImpl(storageManager.generateID(), 50); for (String header : headers.keySet()) { message.putStringProperty(new SimpleString(header), new SimpleString(headers.get(header))); } message.setType((byte) type); message.setDurable(durable); message.setTimestamp(System.currentTimeMillis()); message.setUserID(new UUID(UUID.TYPE_TIME_BASED, UUID.stringToBytes(userID))); if (body != null) { message.getBodyBuffer().writeBytes(Base64.decode(body)); } message.setAddress(queue.getAddress()); postOffice.route(message, null, true); return "" + message.getMessageID(); }