package org.openamq.client.security; import org.openamq.client.protocol.AMQProtocolSession; import javax.security.auth.callback.*; import java.io.IOException; public class UsernamePasswordCallbackHandler implements AMQCallbackHandler { private AMQProtocolSession _protocolSession; public void initialise(AMQProtocolSession protocolSession) { _protocolSession = protocolSession; } public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { Callback cb = callbacks[i]; if (cb instanceof NameCallback) { ((NameCallback)cb).setName(_protocolSession.getUsername()); } else if (cb instanceof PasswordCallback) { ((PasswordCallback)cb).setPassword(_protocolSession.getPassword().toCharArray()); } else { throw new UnsupportedCallbackException(cb); } } } }