/
IOutgoingBatchService.java
132 lines (84 loc) · 5.33 KB
/
IOutgoingBatchService.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/**
* Licensed to JumpMind Inc under one or more contributor
* license agreements. See the NOTICE file distributed
* with this work for additional information regarding
* copyright ownership. JumpMind Inc licenses this file
* to you under the GNU General Public License, version 3.0 (GPLv3)
* (the "License"); you may not use this file except in compliance
* with the License.
*
* You should have received a copy of the GNU General Public License,
* version 3.0 (GPLv3) along with this library; if not, see
* <http://www.gnu.org/licenses/>.
*
* 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.jumpmind.symmetric.service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.jumpmind.db.sql.ISqlTransaction;
import org.jumpmind.symmetric.model.AbstractBatch.Status;
import org.jumpmind.symmetric.model.NodeGroupLinkAction;
import org.jumpmind.symmetric.model.OutgoingBatch;
import org.jumpmind.symmetric.model.OutgoingBatchSummary;
import org.jumpmind.symmetric.model.OutgoingBatches;
/**
* This service provides an API to access to the outgoing batch table.
*/
public interface IOutgoingBatchService {
public List<String> getNodesInError();
public void markAllAsSentForNode(String nodeId, boolean includeConfigChannel);
public void markAllConfigAsSentForNode(String nodeId);
public void updateAbandonedRoutingBatches();
public OutgoingBatch findOutgoingBatch(long batchId, String nodeId);
public OutgoingBatches getOutgoingBatches(String nodeId, boolean includeDisabledChannels);
public OutgoingBatches getOutgoingBatches(String nodeId, String channelId, boolean includeDisabledChannels);
public OutgoingBatches getOutgoingBatches(String nodeId, String channelThread, NodeGroupLinkAction eventAction,
NodeGroupLinkAction defaultEventAction, boolean includeDisabledChannels);
public OutgoingBatches getOutgoingBatchRange(long startBatchId, long endBatchId);
public OutgoingBatches getOutgoingBatchByLoad(long loadI);
public OutgoingBatches getOutgoingBatchByLoadRangeAndTable(long loadId, long startBatchId,
long endBatchId, String tableName);
public int cancelLoadBatches(long loadId);
public OutgoingBatches getOutgoingBatchRange(String nodeId, Date startDate, Date endDate, String... channels);
public OutgoingBatches getOutgoingBatchErrors(int maxRows);
public boolean isInitialLoadComplete(String nodeId);
public boolean areAllLoadBatchesComplete(String nodeId);
public boolean isUnsentDataOnChannelForNode(String channelId, String nodeId);
public void updateOutgoingBatch(OutgoingBatch batch);
public void updateOutgoingBatchStatus(ISqlTransaction transaction, Status status, String nodeId, long startBatchId, long endBatchId);
public void updateCommonBatchExtractStatistics(OutgoingBatch batch);
public void updateOutgoingBatch(ISqlTransaction transaction, OutgoingBatch outgoingBatch);
public void updateOutgoingBatches(List<OutgoingBatch> batches);
public void updateOutgoingBatches(ISqlTransaction transaction, List<OutgoingBatch> batches, int flushSize);
public void insertOutgoingBatch(OutgoingBatch outgoingBatch);
public void insertOutgoingBatch(ISqlTransaction transaction, OutgoingBatch outgoingBatch);
public void insertOutgoingBatches(ISqlTransaction transaction, List<OutgoingBatch> batches, int flushSize, boolean isCommon);
public int countOutgoingBatchesInError();
public int countOutgoingBatchesUnsent();
public int countOutgoingBatchesInError(String channelId);
public int countOutgoingBatchesUnsent(String channelId);
public int countOutgoingBatchesUnsentHeartbeat();
public Map<String, Integer> countOutgoingBatchesPendingByChannel(String nodeId);
public long countUnsentRowsByTargetNode(String nodeId);
public int countUnsentBatchesByTargetNode(String nodeId);
public List<OutgoingBatchSummary> findOutgoingBatchSummary(OutgoingBatch.Status ... statuses);
public List<OutgoingBatchSummary> findOutgoingBatchSummaryByChannel(OutgoingBatch.Status ... statuses);
public List<OutgoingBatchSummary> findOutgoingBatchSummaryByNode(String nodeId,
Date sinceCreateTime, Status... statuses);
public int countOutgoingBatches(List<String> nodeIds, List<String> channels,
List<OutgoingBatch.Status> statuses, List<Long> loads);
public List<OutgoingBatch> listOutgoingBatches(List<String> nodeIds, List<String> channels,
List<OutgoingBatch.Status> statuses, List<Long> loads, long startAtBatchId, int rowsExpected, boolean ascending);
public List<OutgoingBatch> listOutgoingBatchesWithLimit(int offset, int limit, List<FilterCriterion> filter,
String orderColumn, String orderDirection);
public int countOutgoingBatchesWithLimit(List<FilterCriterion> filter);
public void copyOutgoingBatches(String channelId, long startBatchId, String fromNodeId, String toNodeId);
public List<Long> getAllBatches();
}