| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.activemq.ra; |
| |
| import javax.jms.Connection; |
| import javax.jms.ConnectionConsumer; |
| import javax.jms.ConnectionMetaData; |
| import javax.jms.Destination; |
| import javax.jms.ExceptionListener; |
| import javax.jms.JMSException; |
| import javax.jms.Queue; |
| import javax.jms.QueueConnection; |
| import javax.jms.QueueSession; |
| import javax.jms.ServerSessionPool; |
| import javax.jms.Session; |
| import javax.jms.Topic; |
| import javax.jms.TopicConnection; |
| import javax.jms.TopicSession; |
| |
| import org.apache.activemq.ActiveMQConnectionMetaData; |
| |
| /** |
| * A {@link Connection} implementation which can be used with the ActiveMQ JCA |
| * Resource Adapter to publish messages using the same JMS session that is used to dispatch |
| * messages. |
| * |
| * |
| */ |
| public class InboundConnectionProxy implements Connection, QueueConnection, TopicConnection { |
| |
| public Session createSession(boolean transacted, int ackMode) throws JMSException { |
| // TODO we could decide to barf if someone passes in incompatible options |
| return new InboundSessionProxy(); |
| } |
| |
| public QueueSession createQueueSession(boolean transacted, int ackMode) throws JMSException { |
| // TODO we could decide to barf if someone passes in incompatible options |
| return new InboundSessionProxy(); |
| } |
| |
| public TopicSession createTopicSession(boolean transacted, int ackMode) throws JMSException { |
| // TODO we could decide to barf if someone passes in incompatible options |
| return new InboundSessionProxy(); |
| } |
| |
| public void start() throws JMSException { |
| // the JCA RA is in control of this |
| } |
| |
| public void stop() throws JMSException { |
| // the JCA RA is in control of this |
| } |
| |
| public void close() throws JMSException { |
| // the JCA RA is in control of this |
| } |
| |
| public ConnectionMetaData getMetaData() throws JMSException { |
| return ActiveMQConnectionMetaData.INSTANCE; |
| } |
| |
| public String getClientID() throws JMSException { |
| throw createNotSupported("getClientID()"); |
| } |
| |
| public void setClientID(String s) throws JMSException { |
| throw createNotSupported("setClient()"); |
| } |
| |
| public ExceptionListener getExceptionListener() throws JMSException { |
| throw createNotSupported("getExceptionListener()"); |
| } |
| |
| public void setExceptionListener(ExceptionListener exceptionListener) throws JMSException { |
| throw createNotSupported("setExceptionListener()"); |
| } |
| |
| public ConnectionConsumer createConnectionConsumer(Destination destination, String s, ServerSessionPool serverSessionPool, int i) throws JMSException { |
| throw createNotSupported("createConnectionConsumer()"); |
| } |
| |
| public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String s, String s1, ServerSessionPool serverSessionPool, int i) throws JMSException { |
| throw createNotSupported("createDurableConnectionConsumer()"); |
| } |
| |
| public ConnectionConsumer createConnectionConsumer(Queue queue, String s, ServerSessionPool serverSessionPool, int i) throws JMSException { |
| throw createNotSupported("createConnectionConsumer()"); |
| } |
| |
| public ConnectionConsumer createConnectionConsumer(Topic topic, String s, ServerSessionPool serverSessionPool, int i) throws JMSException { |
| throw createNotSupported("createConnectionConsumer()"); |
| } |
| |
| protected JMSException createNotSupported(String text) { |
| return new JMSException("Operation: " + text + " is not supported for this proxy JCA ResourceAdapter provider"); |
| } |
| } |