diff options
Diffstat (limited to 'branches/sca-android/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java')
-rw-r--r-- | branches/sca-android/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/branches/sca-android/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java b/branches/sca-android/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java deleted file mode 100644 index 3e1cb29f33..0000000000 --- a/branches/sca-android/itest/transaction/src/main/java/org/apache/tuscany/sca/itest/transaction/CheckingAccountServiceImpl.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * 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.tuscany.sca.itest.transaction; - -import java.io.File; -import java.util.Enumeration; - -import javax.jms.Connection; -import javax.jms.JMSException; -import javax.jms.MapMessage; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.QueueBrowser; -import javax.jms.Session; - -import org.apache.activemq.ActiveMQConnectionFactory; -import org.apache.activemq.ActiveMQSession; -import org.apache.activemq.broker.BrokerService; -import org.osoa.sca.ServiceRuntimeException; -import org.osoa.sca.annotations.Destroy; -import org.osoa.sca.annotations.Init; -import org.osoa.sca.annotations.Scope; -import org.osoa.sca.annotations.Service; - -/** - * @version $Rev$ $Date$ - */ -@Service(AccountService.class) -@Scope("COMPOSITE") -public class CheckingAccountServiceImpl extends AccountServiceImpl { - private static final String url = "tcp://localhost:61616"; - private BrokerService broker; - private Queue queue; - - @Init - public void init() throws Exception { - broker = new BrokerService(); - broker.setBrokerName("localhost"); - broker.setPersistent(false); - broker.addConnector(url); - broker.start(); - - ActiveMQConnectionFactory connFac = new ActiveMQConnectionFactory(url); - Connection conn = connFac.createConnection(); - ActiveMQSession session = (ActiveMQSession)conn.createSession(true, Session.AUTO_ACKNOWLEDGE); - queue = session.createQueue("CheckAccounts"); - MessageProducer producer = session.createProducer(queue); - MapMessage map = session.createMapMessage(); - - for (int i = 0; i < 3; i++) { - String accountNumber = "C00" + (i + 1); - float balance = (float)(1000.0 + Math.random() * 200.0); - map.setStringProperty("accountNumber", accountNumber); - map.setFloatProperty("balance", balance); - - map.setString("accountNumber", accountNumber); - map.setFloat("balance", balance); - - producer.send(map); - } - session.commit(); - conn.close(); - } - - @Destroy - public void destroy() throws Exception { - if (broker != null) { - broker.stop(); - } - } - - @Override - protected float load(String accountNumber) throws AccountNotFoundException { - try { - ActiveMQConnectionFactory connFac = new ActiveMQConnectionFactory(url); - Connection conn = connFac.createConnection(); - conn.start(); - Session session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE); - QueueBrowser browser = session.createBrowser(queue, "accountNumber = '" + accountNumber + "'"); - Enumeration msgs = browser.getEnumeration(); - if (msgs.hasMoreElements()) { - MapMessage msg = (MapMessage)msgs.nextElement(); - float balance = msg.getFloat("balance"); - conn.close(); - return balance; - } else { - conn.close(); - throw new AccountNotFoundException(accountNumber); - } - } catch (JMSException e) { - throw new ServiceRuntimeException(e); - } - } - - @Override - protected void save(String accountNumber, float balance) throws AccountNotFoundException { - try { - ActiveMQConnectionFactory connFac = new ActiveMQConnectionFactory(url); - Connection conn = connFac.createConnection(); - conn.start(); - ActiveMQSession session = (ActiveMQSession)conn.createSession(true, Session.AUTO_ACKNOWLEDGE); - MessageConsumer consumer = session.createConsumer(queue, "accountNumber = '" + accountNumber + "'"); - Message msg = consumer.receive(1000); - if (msg == null) { - conn.close(); - throw new AccountNotFoundException(accountNumber); - } - MapMessage map = session.createMapMessage(); - map.setStringProperty("accountNumber", accountNumber); - map.setFloatProperty("balance", balance); - - map.setString("accountNumber", accountNumber); - map.setFloat("balance", balance); - - MessageProducer producer = session.createProducer(queue); - producer.send(map); - conn.close(); - - } catch (JMSException e) { - throw new ServiceRuntimeException(e); - } - } - -} |