After a quick glance, it seems you are creating all of the objects (Context, Connection, QueueSession, MessageListener, and QueueSender) each time you send a message. Instead, create each of those once and reuse them. Perhaps you might want to split initialization and sending messages into different methods, and not have the send method call the init method.
Also, your SendRecvClient extends
Thread but you never start it. Does it even need to be a Thread at all?