1 package org.csc.phynixx.connection.loggersystem; 2 3 /* 4 * #%L 5 * phynixx-common 6 * %% 7 * Copyright (C) 2014 csc 8 * %% 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * #L% 21 */ 22 23 24 import org.csc.phynixx.connection.IPhynixxConnection; 25 import org.csc.phynixx.connection.IPhynixxConnectionProxyDecorator; 26 import org.csc.phynixx.connection.IPhynixxManagedConnectionListener; 27 import org.csc.phynixx.loggersystem.logrecord.IXADataRecorder; 28 29 import java.util.List; 30 31 /** 32 * Each connection may have a 33 * this IF represents a strategy assigning loggers to connections. 34 * <p/> 35 * <pre> 36 * Different strategies could be : 37 * no logger, 38 * one logger per transaction, 39 * one logger per connection, 40 * one logger per System 41 * </pre> 42 */ 43 public interface IPhynixxLoggerSystemStrategy<C extends IPhynixxConnection> extends IPhynixxManagedConnectionListener<C>, IPhynixxConnectionProxyDecorator<C> { 44 45 /** 46 * closes the strategy including all resources 47 */ 48 void close(); 49 50 /** 51 * recovers all Loggers of the system and returns a list of all reopen message sequences 52 * Each message sequence represents an incomplete transaction. 53 * To be able to recover the connection the message sequence is converted to a IMessageLogger 54 * 55 * @return list of Objects of type IMessageLogger 56 */ 57 List<IXADataRecorder> readIncompleteTransactions(); 58 59 60 }