13.5.1.1-3 baseline
Former-commit-id:a4bb855c1f
[formerly1f4c8f317f
] [formerlya4bb855c1f
[formerly1f4c8f317f
] [formerly06694a32ce
[formerly 5f5672a32c95941d8a75d55dc99859f1f9585167]]] Former-commit-id:06694a32ce
Former-commit-id:d5b52526dd
[formerly62643f0d21
] Former-commit-id:d373001933
This commit is contained in:
parent
38d25fada6
commit
8dabb9609b
140 changed files with 1157 additions and 806 deletions
|
@ -13,7 +13,7 @@
|
|||
<dfltGeogArea>BasicWX_US</dfltGeogArea>
|
||||
<resourceParameters>
|
||||
pluginName=grid
|
||||
GDFILE=FFG-TIR-HiRes
|
||||
GDFILE=FFG-TIR
|
||||
|
||||
</resourceParameters>
|
||||
<inventoryEnabled>true</inventoryEnabled>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<constraint constraintValue="grid" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
<mapping key="info.datasetId">
|
||||
<constraint constraintValue="FFG-TUA,FFG-ACR,FFG-STR,FFG-RSA,FFG-ORN,FFG-RHA,FFG-KRF,FFG-MSR,FFG-TAR,FFG-PTR,FFG-TIR-HiRes,FFG-ALR,FFG-FWR"
|
||||
<constraint constraintValue="FFG-TUA,FFG-ACR,FFG-STR,FFG-RSA,FFG-ORN,FFG-RHA,FFG-KRF,FFG-MSR,FFG-TAR,FFG-PTR,FFG-TIR,FFG-ALR,FFG-FWR"
|
||||
constraintType="IN" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
|
@ -321,7 +321,7 @@
|
|||
<constraint constraintValue="grid" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
<mapping key="info.datasetId">
|
||||
<constraint constraintValue="FFG-TIR-HiRes" constraintType="EQUALS"/>
|
||||
<constraint constraintValue="FFG-TIR" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
|
|
|
@ -246,19 +246,19 @@
|
|||
menuText="1hr FFG" id="OH1hrFFG">
|
||||
<dataURI>/grib/%/FFG-TIR/FFG0124hr/%</dataURI>
|
||||
<substitute key="timespan" value="FFG0124hr"/>
|
||||
<substitute key="model" value="FFG-TIR-HiRes"/>
|
||||
<substitute key="model" value="FFG-TIR"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/hydro/FFGmosaic.xml"
|
||||
menuText="3hr FFG" id="OH3hrFFG">
|
||||
<dataURI>/grib/%/FFG-TIR-HiRes/FFG0324hr/%</dataURI>
|
||||
<dataURI>/grib/%/FFG-TIR/FFG0324hr/%</dataURI>
|
||||
<substitute key="timespan" value="FFG0324hr"/>
|
||||
<substitute key="model" value="FFG-TIR-HiRes"/>
|
||||
<substitute key="model" value="FFG-TIR"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/hydro/FFGmosaic.xml"
|
||||
menuText="6hr FFG" id="OH6hrFFG">
|
||||
<dataURI>/grib/%/FFG-TIR-HiRes/FFG0624hr/%</dataURI>
|
||||
<dataURI>/grib/%/FFG-TIR/FFG0624hr/%</dataURI>
|
||||
<substitute key="timespan" value="FFG0624hr"/>
|
||||
<substitute key="model" value="FFG-TIR-HiRes"/>
|
||||
<substitute key="model" value="FFG-TIR"/>
|
||||
</contribute>
|
||||
</contribute>
|
||||
<contribute xsi:type="subMenu" menuText="SERFC" id="SERFCMenu">
|
||||
|
|
|
@ -28,6 +28,7 @@ import java.util.regex.Pattern;
|
|||
|
||||
import javax.jms.BytesMessage;
|
||||
import javax.jms.Connection;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.JMSException;
|
||||
import javax.jms.MessageProducer;
|
||||
import javax.jms.Session;
|
||||
|
@ -47,7 +48,7 @@ import com.raytheon.viz.texteditor.msgs.IWarngenObserver;
|
|||
import com.raytheon.viz.texteditor.util.SiteAbbreviationUtil;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* Sends warning products to text workstation and text database.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -58,6 +59,7 @@ import com.raytheon.viz.texteditor.util.SiteAbbreviationUtil;
|
|||
* 01Jun2010 2187 cjeanbap Added operational mode functionality
|
||||
* 02Aug2010 2187 cjeanbap Update variable/method signature to be consistent.
|
||||
* 04Oct2010 7193 cjeanbap Add time-to-live value to MessageProducer.
|
||||
* Sep 13, 2013 2368 rjpeter Set delivery mode to PERSISTENT.
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
|
@ -65,209 +67,208 @@ import com.raytheon.viz.texteditor.util.SiteAbbreviationUtil;
|
|||
*/
|
||||
|
||||
public class WarningSender implements IWarngenObserver {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(WarningSender.class);
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(WarningSender.class);
|
||||
|
||||
private String hostName = null;
|
||||
private final String hostName = null;
|
||||
|
||||
private boolean notifyError;
|
||||
private boolean notifyError;
|
||||
|
||||
private static final long MILLISECONDS_PER_SECOND = 1000;
|
||||
private static final long MILLISECONDS_PER_SECOND = 1000;
|
||||
|
||||
private static final long SECONDS_PER_MINUTE = 60;
|
||||
private static final long SECONDS_PER_MINUTE = 60;
|
||||
|
||||
private static final long TTL_MINUTES = 5;
|
||||
private static final long TTL_MINUTES = 5;
|
||||
|
||||
private static Pattern PATTERN = Pattern.compile("(\\d{1,1})");
|
||||
private static Pattern PATTERN = Pattern.compile("(\\d{1,1})");
|
||||
|
||||
private static final SimpleDateFormat sdf;
|
||||
private static final SimpleDateFormat sdf;
|
||||
|
||||
static {
|
||||
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
}
|
||||
static {
|
||||
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc) Incoming message was not a binary
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.viz.texteditor.msgs.IWarngenObserver#setTextWarngenDisplay
|
||||
* (java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void setTextWarngenDisplay(String warning, boolean ne) {
|
||||
this.notifyError = ne;
|
||||
/*
|
||||
* (non-Javadoc) Incoming message was not a binary
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.viz.texteditor.msgs.IWarngenObserver#setTextWarngenDisplay
|
||||
* (java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public void setTextWarngenDisplay(String warning, boolean ne) {
|
||||
this.notifyError = ne;
|
||||
|
||||
String number = "0";
|
||||
String host = TextWorkstationConstants.getId();
|
||||
long t0 = System.currentTimeMillis();
|
||||
String siteNode = SiteAbbreviationUtil.getSiteNode(LocalizationManager
|
||||
.getInstance().getCurrentSite());
|
||||
System.out.println("Get site node time: "
|
||||
+ (System.currentTimeMillis() - t0));
|
||||
if (host == null) {
|
||||
statusHandler.handle(Priority.ERROR,
|
||||
"Text Workstation host not set in preferences.");
|
||||
} else {
|
||||
Matcher m = PATTERN.matcher(host);
|
||||
if (m.find()) {
|
||||
number = m.group();
|
||||
}
|
||||
}
|
||||
String number = "0";
|
||||
String host = TextWorkstationConstants.getId();
|
||||
long t0 = System.currentTimeMillis();
|
||||
String siteNode = SiteAbbreviationUtil.getSiteNode(LocalizationManager
|
||||
.getInstance().getCurrentSite());
|
||||
statusHandler.debug("Get site node time: "
|
||||
+ (System.currentTimeMillis() - t0));
|
||||
if (host == null) {
|
||||
statusHandler.handle(Priority.ERROR,
|
||||
"Text Workstation host not set in preferences.");
|
||||
} else {
|
||||
Matcher m = PATTERN.matcher(host);
|
||||
if (m.find()) {
|
||||
number = m.group();
|
||||
}
|
||||
}
|
||||
|
||||
String id = siteNode + "WRKWG" + number;
|
||||
boolean sentToTextDatabase = false;
|
||||
String id = siteNode + "WRKWG" + number;
|
||||
boolean sentToTextDatabase = false;
|
||||
|
||||
try {
|
||||
boolean messageNotSent = true;
|
||||
int connectCount = 0;
|
||||
t0 = System.currentTimeMillis();
|
||||
byte[] data = SerializationUtil.transformToThrift(id + ":"
|
||||
+ warning);
|
||||
while (messageNotSent && connectCount < 4) {
|
||||
Session s = null;
|
||||
MessageProducer mp = null;
|
||||
Connection conn = null;
|
||||
try {
|
||||
conn = JMSConnection.getInstance().getFactory()
|
||||
.createConnection();
|
||||
s = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
|
||||
mp = s.createProducer(s
|
||||
.createQueue(TextWorkstationConstants
|
||||
.getDestinationTextWorkstationQueueName()));
|
||||
mp.setTimeToLive(TTL_MINUTES * SECONDS_PER_MINUTE
|
||||
* MILLISECONDS_PER_SECOND);
|
||||
BytesMessage m = s.createBytesMessage();
|
||||
m.writeBytes(data);
|
||||
mp.send(m);
|
||||
long t1 = System.currentTimeMillis();
|
||||
System.out.println(WarningSender.getCurTimeString() + ": "
|
||||
+ id + " sent to text workstation in " + (t1 - t0)
|
||||
+ "ms in " + (connectCount + 1)
|
||||
+ (connectCount > 0 ? " tries" : " try"));
|
||||
messageNotSent = false;
|
||||
} catch (JMSException e) {
|
||||
if (notifyError) {
|
||||
statusHandler
|
||||
.handle(Priority.PROBLEM,
|
||||
"Error trying to send product ["
|
||||
+ id
|
||||
+ "] to Text Workstation. Attempting to reconnect. ",
|
||||
e);
|
||||
notifyError = false;
|
||||
}
|
||||
} finally {
|
||||
if (mp != null) {
|
||||
try {
|
||||
mp.close();
|
||||
mp = null;
|
||||
} catch (Exception e) {
|
||||
mp = null;
|
||||
}
|
||||
}
|
||||
if (s != null) {
|
||||
try {
|
||||
s.close();
|
||||
s = null;
|
||||
} catch (Exception e) {
|
||||
s = null;
|
||||
}
|
||||
}
|
||||
if (conn != null) {
|
||||
try {
|
||||
conn.close();
|
||||
conn = null;
|
||||
} catch (Exception e) {
|
||||
conn = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (messageNotSent) {
|
||||
if (!sentToTextDatabase) {
|
||||
try {
|
||||
sendToTextDatabase(id, warning);
|
||||
sentToTextDatabase = true;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to save product [" + id
|
||||
+ "] to Text Database: ", e);
|
||||
}
|
||||
}
|
||||
try {
|
||||
boolean messageNotSent = true;
|
||||
int connectCount = 0;
|
||||
t0 = System.currentTimeMillis();
|
||||
byte[] data = SerializationUtil.transformToThrift(id + ":"
|
||||
+ warning);
|
||||
while (messageNotSent && (connectCount < 4)) {
|
||||
Session s = null;
|
||||
MessageProducer mp = null;
|
||||
Connection conn = null;
|
||||
try {
|
||||
conn = JMSConnection.getInstance().getFactory()
|
||||
.createConnection();
|
||||
s = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
|
||||
mp = s.createProducer(s
|
||||
.createQueue(TextWorkstationConstants
|
||||
.getDestinationTextWorkstationQueueName()));
|
||||
mp.setTimeToLive(TTL_MINUTES * SECONDS_PER_MINUTE
|
||||
* MILLISECONDS_PER_SECOND);
|
||||
BytesMessage m = s.createBytesMessage();
|
||||
m.writeBytes(data);
|
||||
m.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
mp.send(m);
|
||||
long t1 = System.currentTimeMillis();
|
||||
statusHandler.debug(id + " sent to text workstation in "
|
||||
+ (t1 - t0) + "ms in " + (connectCount + 1)
|
||||
+ (connectCount > 0 ? " tries" : " try"));
|
||||
messageNotSent = false;
|
||||
} catch (JMSException e) {
|
||||
if (notifyError) {
|
||||
statusHandler
|
||||
.handle(Priority.PROBLEM,
|
||||
"Error trying to send product ["
|
||||
+ id
|
||||
+ "] to Text Workstation. Attempting to reconnect. ",
|
||||
e);
|
||||
notifyError = false;
|
||||
}
|
||||
} finally {
|
||||
if (mp != null) {
|
||||
try {
|
||||
mp.close();
|
||||
mp = null;
|
||||
} catch (Exception e) {
|
||||
mp = null;
|
||||
}
|
||||
}
|
||||
if (s != null) {
|
||||
try {
|
||||
s.close();
|
||||
s = null;
|
||||
} catch (Exception e) {
|
||||
s = null;
|
||||
}
|
||||
}
|
||||
if (conn != null) {
|
||||
try {
|
||||
conn.close();
|
||||
conn = null;
|
||||
} catch (Exception e) {
|
||||
conn = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (messageNotSent) {
|
||||
if (!sentToTextDatabase) {
|
||||
try {
|
||||
sendToTextDatabase(id, warning);
|
||||
sentToTextDatabase = true;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to save product [" + id
|
||||
+ "] to Text Database: ", e);
|
||||
}
|
||||
}
|
||||
|
||||
connectCount++;
|
||||
switch (connectCount) {
|
||||
case 1:
|
||||
Thread.sleep(1000);
|
||||
break;
|
||||
case 2:
|
||||
Thread.sleep(5 * 1000);
|
||||
break;
|
||||
case 3:
|
||||
Thread.sleep(30 * 1000);
|
||||
break;
|
||||
case 4:
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Could not reconnect (" + id
|
||||
+ ") after 3 tries: ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
connectCount++;
|
||||
switch (connectCount) {
|
||||
case 1:
|
||||
Thread.sleep(1000);
|
||||
break;
|
||||
case 2:
|
||||
Thread.sleep(5 * 1000);
|
||||
break;
|
||||
case 3:
|
||||
Thread.sleep(30 * 1000);
|
||||
break;
|
||||
case 4:
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Could not reconnect (" + id
|
||||
+ ") after 3 tries: ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!sentToTextDatabase) {
|
||||
try {
|
||||
sendToTextDatabase(id, warning);
|
||||
sentToTextDatabase = true;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to save product [" + id
|
||||
+ "] to Text Database: ", e);
|
||||
}
|
||||
}
|
||||
} catch (UnknownHostException uhe) {
|
||||
if (notifyError) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"unable to map hostname, " + hostName
|
||||
+ ", to an ip address", uhe);
|
||||
notifyError = false;
|
||||
}
|
||||
if (!sentToTextDatabase) {
|
||||
try {
|
||||
sendToTextDatabase(id, warning);
|
||||
sentToTextDatabase = true;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to save product [" + id
|
||||
+ "] to Text Database: ", e);
|
||||
}
|
||||
}
|
||||
} catch (UnknownHostException uhe) {
|
||||
if (notifyError) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"unable to map hostname, " + hostName
|
||||
+ ", to an ip address", uhe);
|
||||
notifyError = false;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to send product [" + id
|
||||
+ "] to Text Workstation: ", e);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error trying to send product [" + id
|
||||
+ "] to Text Workstation: ", e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a product to the text database.
|
||||
*
|
||||
* @param id
|
||||
* @param warning
|
||||
* @throws VizException
|
||||
*/
|
||||
public static void sendToTextDatabase(String id, String warning)
|
||||
throws VizException {
|
||||
CAVEMode mode = CAVEMode.getMode();
|
||||
boolean operationalMode = (CAVEMode.OPERATIONAL.equals(mode)
|
||||
|| CAVEMode.TEST.equals(mode) ? true : false);
|
||||
/**
|
||||
* Saves a product to the text database.
|
||||
*
|
||||
* @param id
|
||||
* @param warning
|
||||
* @throws VizException
|
||||
*/
|
||||
public static void sendToTextDatabase(String id, String warning)
|
||||
throws VizException {
|
||||
CAVEMode mode = CAVEMode.getMode();
|
||||
boolean operationalMode = (CAVEMode.OPERATIONAL.equals(mode)
|
||||
|| CAVEMode.TEST.equals(mode) ? true : false);
|
||||
|
||||
// Generate StdTextProduct and insert into db
|
||||
long t0 = System.currentTimeMillis();
|
||||
ThriftClient.sendRequest(new InsertStdTextProductRequest(id, warning,
|
||||
operationalMode));
|
||||
// Generate StdTextProduct and insert into db
|
||||
long t0 = System.currentTimeMillis();
|
||||
ThriftClient.sendRequest(new InsertStdTextProductRequest(id, warning,
|
||||
operationalMode));
|
||||
|
||||
System.out.println(WarningSender.getCurTimeString() + ": " + id
|
||||
+ " saved to textdb in " + (System.currentTimeMillis() - t0)
|
||||
+ "ms");
|
||||
}
|
||||
statusHandler.debug(id + " saved to textdb in "
|
||||
+ (System.currentTimeMillis() - t0) + "ms");
|
||||
}
|
||||
|
||||
public static String getCurTimeString() {
|
||||
String rval = null;
|
||||
synchronized (sdf) {
|
||||
rval = sdf.format(new Date());
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
public static String getCurTimeString() {
|
||||
String rval = null;
|
||||
synchronized (sdf) {
|
||||
rval = sdf.format(new Date());
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ import com.vividsolutions.jts.geom.Polygon;
|
|||
* Jul 16, 2013 DR 16387 Qinglu Lin Reset totalSegments for each followup product.
|
||||
* Jul 29, 2013 DR 16352 D. Friedman Move 'result' to okPressed().
|
||||
* Aug 6, 2013 2243 jsanchez Refreshed the follow up list every minute.
|
||||
* Sep 4, 2013 DR 16496 Qinglu Lin Fixed warning area expandable issue occurred after re-clicking on CON option.
|
||||
* Sep 17, 2013 DR 16496 D. Friedman Make editable state more consistent.
|
||||
* </pre>
|
||||
*
|
||||
* @author chammack
|
||||
|
@ -1322,11 +1322,9 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
* Box was selected, allow editing of box only
|
||||
*/
|
||||
private void boxSelected() {
|
||||
boxEditable = !polygonLocked;
|
||||
trackEditable = true;
|
||||
warngenLayer.getStormTrackState().editable = trackEditable;
|
||||
warngenLayer.setBoxEditable(boxEditable);
|
||||
warngenLayer.issueRefresh();
|
||||
boxEditable = true;
|
||||
trackEditable = false;
|
||||
realizeEditableState();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1335,20 +1333,16 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
private void trackSelected() {
|
||||
boxEditable = false;
|
||||
trackEditable = true;
|
||||
warngenLayer.getStormTrackState().editable = trackEditable;
|
||||
warngenLayer.setBoxEditable(boxEditable);
|
||||
warngenLayer.issueRefresh();
|
||||
realizeEditableState();
|
||||
}
|
||||
|
||||
/**
|
||||
* Box and track was selected, allow editing of both
|
||||
*/
|
||||
private void boxAndTrackSelected() {
|
||||
boxEditable = !polygonLocked;
|
||||
boxEditable = true;
|
||||
trackEditable = true;
|
||||
warngenLayer.getStormTrackState().editable = trackEditable;
|
||||
warngenLayer.setBoxEditable(boxEditable);
|
||||
warngenLayer.issueRefresh();
|
||||
realizeEditableState();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1432,8 +1426,6 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
* Redraw everything based on warned area
|
||||
*/
|
||||
private void redrawFromWarned() {
|
||||
warngenLayer.assignSavedWarningPolygon();
|
||||
warngenLayer.setPolygonState(false);
|
||||
try {
|
||||
warngenLayer.redrawBoxFromHatched();
|
||||
} catch (VizException e) {
|
||||
|
@ -1460,11 +1452,6 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
return;
|
||||
}
|
||||
|
||||
warngenLayer.setEquivalentString("");
|
||||
warngenLayer.setPolygonState(false);
|
||||
warngenLayer.setBoxEditable(true);
|
||||
warngenLayer.setWarningAction(WarningAction.valueOf(""));
|
||||
|
||||
String lastAreaSource = warngenLayer.getConfiguration()
|
||||
.getHatchedAreaSource().getAreaSource();
|
||||
|
||||
|
@ -1610,24 +1597,11 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
* item from update list selected
|
||||
*/
|
||||
public void updateListSelected() {
|
||||
FollowupData data = null;
|
||||
if (updateListCbo != null) {
|
||||
data = (FollowupData) updateListCbo.getData(updateListCbo
|
||||
.getItem(updateListCbo.getSelectionIndex()));
|
||||
if (data != null) {
|
||||
String s = data.getEquvialentString();
|
||||
if (!s.equals(warngenLayer.getEquivalentString())) {
|
||||
warngenLayer.setEquivalentString(s);
|
||||
warngenLayer.setPolygonState(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (warngenLayer.getPolygonState()) {
|
||||
return;
|
||||
}
|
||||
if (updateListCbo.getSelectionIndex() >= 0) {
|
||||
warngenLayer.setOldWarningPolygon(null);
|
||||
AbstractWarningRecord oldWarning = null;
|
||||
FollowupData data = (FollowupData) updateListCbo
|
||||
.getData(updateListCbo.getItem(updateListCbo
|
||||
.getSelectionIndex()));
|
||||
Mode currMode = warngenLayer.getStormTrackState().mode;
|
||||
if (data != null) {
|
||||
// does not refesh if user selected already highlighted option
|
||||
|
@ -1642,12 +1616,9 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
.getEquvialentString());
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
warngenLayer.setPolygonState(false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
warngenLayer.setOldWarningPolygon(null);
|
||||
if (warngenLayer.state.followupData != null) {
|
||||
// Sets the updatelist with the last selected vtec option
|
||||
for (int i = 0; i < updateListCbo.getItemCount(); i++) {
|
||||
|
@ -1666,7 +1637,6 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
return;
|
||||
}
|
||||
}
|
||||
warngenLayer.setOldWarningPolygon(null);
|
||||
if (currMode == Mode.DRAG_ME) {
|
||||
warngenLayer.setLastMode(Mode.TRACK);
|
||||
warngenLayer.getStormTrackState().mode = Mode.TRACK;
|
||||
|
@ -1677,20 +1647,12 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
return;
|
||||
}
|
||||
|
||||
warngenLayer.setOldWarningPolygon(null);
|
||||
bulletList.setEnabled(true);
|
||||
durationList.setEnabled(true);
|
||||
totalSegments = 0;
|
||||
warngenLayer.getStormTrackState().endTime = null;
|
||||
WarningAction action = WarningAction.valueOf(data.getAct());
|
||||
|
||||
if (warngenLayer.isBoxEditable()) {
|
||||
if (action == WarningAction.CAN || action == WarningAction.COR
|
||||
|| action == WarningAction.EXT
|
||||
|| action == WarningAction.EXP) {
|
||||
warngenLayer.setPolygonState(false);
|
||||
}
|
||||
}
|
||||
|
||||
warngenLayer.setWarningAction(action);
|
||||
if (action == WarningAction.CON) {
|
||||
oldWarning = conSelected(data);
|
||||
|
@ -2229,11 +2191,6 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
shell.moveAbove(getParent());
|
||||
}
|
||||
}
|
||||
String action = warngenLayer.getEquivalentString();
|
||||
if (action.contains("CAN-") || action.contains("COR-")
|
||||
|| action.contains("EXT-") || action.contains("EXP-")) {
|
||||
warngenLayer.setBoxEditable(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void otherSelected() {
|
||||
|
@ -2484,4 +2441,12 @@ public class WarngenDialog extends CaveSWTDialog implements
|
|||
}
|
||||
}
|
||||
|
||||
public void realizeEditableState() {
|
||||
boolean layerEditable = warngenLayer.isEditable();
|
||||
// TODO: Note there is no 'is track editing allowed' state yet.
|
||||
warngenLayer.getStormTrackState().editable = layerEditable && trackEditable;
|
||||
warngenLayer.setBoxEditable(layerEditable && boxEditable && !polygonLocked);
|
||||
warngenLayer.issueRefresh();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -185,7 +185,7 @@ import com.vividsolutions.jts.io.WKTReader;
|
|||
* 07/26/2013 DR 16376 Qinglu Lin Moved adjustVertex() and computeSlope() to PolygonUtil; removed calculateDistance();
|
||||
* updated AreaHatcher's run().
|
||||
* 07/26/2013 DR 16450 D. Friedman Fix logic errors when frame count is one.
|
||||
* 09/04/2013 DR 16496 Qinglu Lin Fixed CAN polygon editable issue occurred after swapping out and in.
|
||||
* 09/17/2013 DR 16496 D. Friedman Make editable state more consistent.
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
|
@ -197,9 +197,6 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
|||
.getHandler(WarngenLayer.class);
|
||||
|
||||
String uniqueFip = null;
|
||||
private boolean polygonChanged = false;
|
||||
private String equivalentString = "";
|
||||
private Polygon savedWarningPolygon;
|
||||
|
||||
private static class GeospatialDataList {
|
||||
|
||||
|
@ -486,11 +483,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
|||
public synchronized void hatchArea(Polygon warningPolygon,
|
||||
Geometry warningArea, Polygon oldWarningPolygon) {
|
||||
synchronized (polygonUtil) {
|
||||
savedWarningPolygon = warningPolygon;
|
||||
if (warningAction != WarningAction.CON ||
|
||||
(warningAction == WarningAction.CON && getPolygonState())) {
|
||||
this.warningPolygon = warningPolygon;
|
||||
}
|
||||
this.warningPolygon = warningPolygon;
|
||||
this.warningArea = warningArea;
|
||||
this.oldWarningPolygon = oldWarningPolygon;
|
||||
}
|
||||
|
@ -2973,10 +2966,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
|||
final boolean editable = isEditable();
|
||||
boxEditable = editable;
|
||||
displayState.editable = editable;
|
||||
if (editable) {
|
||||
boxEditable = dialog.boxEditable();
|
||||
displayState.editable = dialog.trackEditable();
|
||||
}
|
||||
dialog.realizeEditableState();
|
||||
final WarngenDialog dlg = dialog;
|
||||
dialog.getDisplay().asyncExec(new Runnable() {
|
||||
@Override
|
||||
|
@ -3097,28 +3087,4 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public WarningAction getWarningAction() {
|
||||
return warningAction;
|
||||
}
|
||||
|
||||
public void setPolygonState(boolean b) {
|
||||
polygonChanged = b;
|
||||
}
|
||||
|
||||
public boolean getPolygonState() {
|
||||
return polygonChanged;
|
||||
}
|
||||
|
||||
public void setEquivalentString(String s) {
|
||||
equivalentString = s;
|
||||
}
|
||||
|
||||
public String getEquivalentString() {
|
||||
return equivalentString;
|
||||
}
|
||||
|
||||
public void assignSavedWarningPolygon() {
|
||||
this.areaHatcher.warningPolygon = savedWarningPolygon;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,8 +65,6 @@ import com.vividsolutions.jts.geom.Polygon;
|
|||
* when c2 is null for "case SINGLE_POINT" in move().
|
||||
* Mar 28, 2013 DR 15974 D. Friedman Do not track removed GIDs.
|
||||
* Jun 25, 2013 DR 16013 Qinglu Lin Called setUniqueFip() in handleMouseUp().
|
||||
* Sep 4, 2013 DR 16496 Qinglu Lin Fixed warning area expandable issue which occurs after re-clicking on
|
||||
* a CON option.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -139,10 +137,6 @@ public class WarngenUIManager extends InputAdapter {
|
|||
if (!handleInput || warngenLayer.isBoxEditable() == false) {
|
||||
return super.handleMouseDown(x, y, button);
|
||||
}
|
||||
if (warngenLayer.getWarningAction() == WarningAction.CON &&
|
||||
!warngenLayer.getPolygonState()) {
|
||||
warngenLayer.setPolygonState(true);
|
||||
}
|
||||
boolean rval = false;
|
||||
if (button == 1 && moveType != null) {
|
||||
return true;
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -40,8 +40,19 @@
|
|||
<property name="taskExecutor" ref="genericThreadPool" />
|
||||
</bean>
|
||||
|
||||
<bean id="jms-durable" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="genericThreadPool" />
|
||||
</bean>
|
||||
|
||||
<bean id="jmsGenericConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
factory-bean="jmsConfig" factory-method="copy"/>
|
||||
|
||||
<bean id="jmsDurableConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
<property name="destinationResolver" ref="qpidDurableResolver" />
|
||||
<property name="deliveryPersistent" value="true"/>
|
||||
</bean>
|
||||
|
||||
<bean id="qpidNoDurableResolver" class="com.raytheon.uf.edex.esb.camel.spring.QpidDestinationNameResolver">
|
||||
<property name="queueNamePrefix" value="direct://amq.direct/"/>
|
||||
|
@ -71,6 +82,7 @@
|
|||
<property name="templateConnectionFactory" ref="jmsPooledConnectionFactory" />
|
||||
<property name="destinationResolver" ref="qpidNoDurableResolver" />
|
||||
<property name="disableReplyTo" value="true" />
|
||||
<property name="deliveryPersistent" value="false"/>
|
||||
<!--
|
||||
<property name="transacted" value="true" />
|
||||
<property name="acknowledgementModeName" value="TRANSACTED"/>
|
||||
|
@ -253,14 +265,14 @@
|
|||
<route id="alertVizNotify">
|
||||
<from uri="vm:edex.alertVizNotification" />
|
||||
<bean ref="serializationUtil" method="transformToThrift" />
|
||||
<to uri="jms-generic:topic:edex.alerts.msg?deliveryPersistent=false" />
|
||||
<to uri="jms-generic:topic:edex.alerts.msg" />
|
||||
</route>
|
||||
|
||||
<!-- Route to send text products to alarm/alert -->
|
||||
<route id="alarmAlertNotify">
|
||||
<from uri="vm:edex.alarmAlertNotification" />
|
||||
<bean ref="serializationUtil" method="transformToThrift" />
|
||||
<to uri="jms-generic:topic:edex.alarms.msg?deliveryPersistent=false" />
|
||||
<to uri="jms-generic:topic:edex.alarms.msg" />
|
||||
</route>
|
||||
|
||||
<!-- Route to periodically close any unused jms resources that have been pooled -->
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<inventoryParameters>pluginName,info.ensembleId,info.secondaryId,dataTime</inventoryParameters>
|
||||
<baseConstraints>
|
||||
<mapping key="info.datasetId">
|
||||
<constraint constraintValue="FFG-TIR-HiRes" constraintType="EQUALS"/>
|
||||
<constraint constraintValue="FFG-TIR" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="grid" constraintType="EQUALS"/>
|
||||
|
|
|
@ -1,75 +1,73 @@
|
|||
#*
|
||||
CREATED 1-25-2012 BY MIKE DANGELO AND EVAN BOOKBINDER
|
||||
UPDATED 9-16-2013 BY MIKE DANGELO AND EVAN BOOKBINDER
|
||||
|
||||
Here are some examples of very simple INTERSTATE output
|
||||
(one line/sentence per interstate):
|
||||
### THIS PLUG-IN VM FILE ALLOWS YOU TO CONSOLIDATE ALL YOUR MILEMARKER/EXIT/ROUTE
|
||||
### OUTPUT INTO A SINGLE FUNCTION CALL
|
||||
|
||||
#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","MILE MARKER",false)
|
||||
#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","MILE MARKER",true)
|
||||
#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","",false)
|
||||
#mmarkers(${i70momm},${i70mommid},"INTERSTATE 70 IN MISSOURI","",true)
|
||||
#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","",false)
|
||||
#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","",true)
|
||||
#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","MILE MARKER",false)
|
||||
#mmarkers(${i435mm},${i435mmid},"INTERSTATE 435 IN MISSOURI","MILE MARKER",true)
|
||||
|
||||
Mile Marker Test Code
|
||||
Mile Marker Macro
|
||||
macro "mmarkers" use (called out of VM_global_library.vm):
|
||||
#mmarkers($name, $id, $type, $markers, $simplify)
|
||||
#macro(mmarkers $markers $id $name $type $simplify)
|
||||
where the argument:
|
||||
$markers is a string, and is the exact "variable" set in the XML "pointSource" tag for this road
|
||||
- <pointSource variable="i70momm">
|
||||
$id is the sequential ID database field to determine logical breaks in the mile markers
|
||||
set in the XML "pointSource" tag for this road
|
||||
- <pointSource variable="i70mommid">
|
||||
$name is a string "OUTPUT TEXT" of the road name
|
||||
$id is the sequential ID database field to determine logical breaks in the mile markers
|
||||
$type is a string which describes the type of "marker"
|
||||
- may be "MILE MARKER" or something similar, or blank ""
|
||||
- "" is for use when town names (CHARLESTON) or exit names (THE SUNSET EXIT)
|
||||
$markers is a string, and is the exact "variable" set in the XML "pointSource" tag for this road
|
||||
- <pointSource variable="i70momm">
|
||||
$simplify is a boolean value (true or false)
|
||||
- true concatenates (FROM MM 2 to 4),
|
||||
- false is a big list (MM 2...3...AND 4)
|
||||
|
||||
From mileMarkers.xml
|
||||
$databaseName is an array of pointSource objects containing the milemarker names
|
||||
$databaseId is an array of pointSource objects containing the milemarker IDs
|
||||
$specificName is an array of plain English names for the Interstates, Routes, etc..
|
||||
e.g.
|
||||
#set ($databaseName = [${i435mm},${i70momm},${i35momm}])
|
||||
#set ($databaseId = [${i435mmid},${i70mommid},${i35mommid}])
|
||||
#set ($specificName = ['INTERSTATE 435','INTERSTATE 70','INTERSTATE 35'])
|
||||
CONFIGURATION:
|
||||
#COMMENT OUT LINES 59-62 BELOW AS NEEDED, REPLACING THE EXAMPLE WITH YOUR MILE MARKER/ROUTE ENTRIES
|
||||
#EACH LINE CONTAINS A VARIABLE MM1,MM2,MM3,etc... REFERENCING AN ARRAY (LIST) OF DATA THAT
|
||||
#WILL BE PASSED TO THE MMARKERS ROUTINE.
|
||||
|
||||
The following code makes upkeep of the mile marker files easier, and is
|
||||
reccomended for use.
|
||||
Substitute all your "INTERSTATE NAME(s)" into the array: $specificName
|
||||
Likewise,
|
||||
Substitute all your corresponding database table names (${tablename}) for those
|
||||
interstates into the array: $databaseName
|
||||
You may also use town names or exit names
|
||||
in the "name" field of your database tables.
|
||||
The items in the array are as follows:
|
||||
1.) java Object - A pointSource object from mileMarkers.xml containing the milemarker names
|
||||
2.) java Object - A pointSource object from mileMarkers.xml containing the milemarker IDs or index
|
||||
3.) String - A plain English name for the Interstates, Routes, etc..
|
||||
4.) String - A plain English name describing the output (mile marker, exit, etc...)
|
||||
Can be blank ''. Make sure the singular phrase is used (an "S" will be auto-applied for
|
||||
plural values. e.g. MILE MARKERS 3 AND 10
|
||||
5.) Boolean - A true/false value telling the function whether to group the milemarkers where
|
||||
possible, or list them individually. For mile markers that are text (such as exits or
|
||||
intersections, false might be a better option)
|
||||
|
||||
NOTE: PLEASE ENSURE PROPER SYNTAX. Java Objects are ${variable}, Text Strings are 'TEXT', and
|
||||
Booleans are true/false (no quote)
|
||||
ALSO ENSURE THAT EACH LINE CONTAINS A UNIQUE VARIABLE NAME: MM1, MM2, MM3, etc..
|
||||
|
||||
|
||||
HERE IS AN EXAMPLE:
|
||||
e.g.
|
||||
#set ($mm1 = [${i435mm},${i435mmid},'INTERSTATE 435','MILE MARKER',true])
|
||||
#set ($mm2 = [${i70momm},${i70mommid},'INTERSTATE 70 IN MISSOURI','MILE MARKER',true])
|
||||
#set ($mm3 = [${i35momm},${i35mommid},'INTERSTATE 70 IN KANSAS','MILE MARKER',true])
|
||||
|
||||
After creating these, we must create a list containing all of our variable names
|
||||
e.g.
|
||||
#set ($varList = [$mm1,$mm2,$mm3])
|
||||
*#
|
||||
|
||||
#set($hits = 0)
|
||||
#set($bigList = '')
|
||||
##set ($databaseName = [${i435mm},${i70momm},${i35momm}])
|
||||
##set ($databaseId = [${i435mmid},${i70mommid},${i35mommid}])
|
||||
##set ($specificName = ['INTERSTATE 435','INTERSTATE 70','INTERSTATE 35'])
|
||||
#set ($itemCount = 0)
|
||||
#foreach($specName in $specificName)
|
||||
#set ($itemCount = $itemCount + 1)
|
||||
#set ($itemCount2 = 0)
|
||||
#foreach($dbName in $databaseName)
|
||||
#set ($itemCount2 = $itemCount2 + 1)
|
||||
#set ($itemCount3 = 0)
|
||||
#foreach($dbId in $databaseId)
|
||||
#set ($itemCount3 = $itemCount3 + 1)
|
||||
#if ($itemCount3 == $itemCount2 && $itemCount2 == $itemCount)
|
||||
#set ($checker = "#mmarkers(${dbName},${dbId},${specName},'MILE MARKER',true)")
|
||||
|
||||
##set ($mm1 = [${i435mm},${i435mmid},'INTERSTATE 435','MILE MARKER',true])
|
||||
##set ($mm2 = [${i70momm},${i70mommid},'INTERSTATE 70 IN MISSOURI','MILE MARKER',true])
|
||||
##set ($mm3 = [${i35momm},${i35mommid},'INTERSTATE 70 IN KANSAS','MILE MARKER',true])
|
||||
##set ($varList = [$mm1,$mm2,$mm3])
|
||||
|
||||
#foreach ($var in $varList)
|
||||
#set ($checker = "#mmarkers(${list.get(${var},0)},${list.get(${var},1)},${list.get(${var},2)},${list.get(${var},3)},${list.get(${var},4)})")
|
||||
#if ($checker.length() > 0)
|
||||
#set ($hits = $hits + 1)
|
||||
#set ($bigList = "$bigList $checker")
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
#if ($hits == 1)
|
||||
THIS INCLUDES$bigList
|
||||
#end
|
||||
|
|
|
@ -8,22 +8,52 @@
|
|||
SHOULD BE MODIFIED.
|
||||
|
||||
EXAMPLE FOR INTERSTATE 435 in the Kansas City Metro follows:
|
||||
|
||||
|
||||
|
||||
<pointSource variable="i435mm">
|
||||
<pointSource>i435mm</pointSource>
|
||||
<pointSource>i435</pointSource>
|
||||
<pointField>NAME</pointField>
|
||||
<searchMethod>POINTS</searchMethod>
|
||||
<withinPolygon>true</withinPolygon>
|
||||
<maxResults>1000</maxResults>
|
||||
<distanceThreshold>100</distanceThreshold>
|
||||
<sortBy>
|
||||
<sort>gid</sort>
|
||||
</sortBy>
|
||||
</pointSource>
|
||||
<pointSource variable="i435mmid">
|
||||
<pointSource>i435mm</pointSource>
|
||||
<pointSource>i435</pointSource>
|
||||
<pointField>GID</pointField>
|
||||
<searchMethod>POINTS</searchMethod>
|
||||
<withinPolygon>true</withinPolygon>
|
||||
<maxResults>1000</maxResults>
|
||||
<distanceThreshold>100</distanceThreshold>
|
||||
<sortBy>
|
||||
<sort>gid</sort>
|
||||
</sortBy>
|
||||
</pointSource>
|
||||
|
||||
-->
|
||||
<pointSource variable="i35momm">
|
||||
<pointSource>i35mo</pointSource>
|
||||
<pointField>NAME</pointField>
|
||||
<searchMethod>POINTS</searchMethod>
|
||||
<withinPolygon>true</withinPolygon>
|
||||
<maxResults>1000</maxResults>
|
||||
<distanceThreshold>100</distanceThreshold>
|
||||
<sortBy>
|
||||
<sort>gid</sort>
|
||||
</sortBy>
|
||||
</pointSource>
|
||||
<pointSource variable="i35mommid">
|
||||
<pointSource>i35mo</pointSource>
|
||||
<pointField>GID</pointField>
|
||||
<searchMethod>POINTS</searchMethod>
|
||||
<withinPolygon>true</withinPolygon>
|
||||
<maxResults>1000</maxResults>
|
||||
<distanceThreshold>100</distanceThreshold>
|
||||
<sortBy>
|
||||
<sort>gid</sort>
|
||||
</sortBy>
|
||||
</pointSource>
|
||||
-->
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
<!-- LDAD (watch/warn) triggered script runner -->
|
||||
<route id="ldadWatchWarn">
|
||||
<from uri="jms-generic:queue:watchwarn?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:watchwarn"/>
|
||||
<doTry>
|
||||
<bean ref="ldadScriptRunner" method="runScripts" />
|
||||
<doCatch>
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<method bean="uriAggregator" method="hasUris" />
|
||||
<bean ref="uriAggregator" method="sendQueuedUris" />
|
||||
<bean ref="serializationUtil" method="transformToThrift" />
|
||||
<to uri="jms-generic:topic:edex.alerts?timeToLive=60000&deliveryPersistent=false"/>
|
||||
<to uri="jms-generic:topic:edex.alerts?timeToLive=60000"/>
|
||||
</filter>
|
||||
</route>
|
||||
</camelContext>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<bean id="airepDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="airep" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.airep" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.airep"/>
|
||||
</bean>
|
||||
|
||||
<bean id="airepCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -33,13 +33,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>airep</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.airep" />
|
||||
<to uri="jms-durable:queue:Ingest.airep" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin airep routes -->
|
||||
<route id="airepIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.airep?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.airep"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>airep</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<bean id="binlightningDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="binlightning" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.binlightning?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.binlightning" />
|
||||
</bean>
|
||||
|
||||
<bean id="binlightningCamelRegistered" factory-bean="clusteredCamelContextMgr"
|
||||
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>binlightning</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.binlightning" />
|
||||
<to uri="jms-durable:queue:Ingest.binlightning" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin binlightning routes -->
|
||||
<route id="binlightningIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.binlightning?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.binlightning"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>binlightning</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<bean id="bufrmosDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="bufrmos" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrmos?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrmos" />
|
||||
</bean>
|
||||
|
||||
<bean id="bufrmosCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -30,13 +30,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrmos</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrmos" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrmos" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrmos routes -->
|
||||
<route id="bufrmosIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrmos?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrmos" />
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrmos</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -32,13 +32,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrua</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrua"/>
|
||||
<to uri="jms-durable:queue:Ingest.bufrua"/>
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin BUFRUA routes -->
|
||||
<route id="bufruaIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrua?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:Ingest.bufrua"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrua</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>ccfp</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.ccfp" />
|
||||
<to uri="jms-durable:queue:Ingest.ccfp" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin ccfp routes -->
|
||||
<route id="ccfpIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ccfp?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.ccfp"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>ccfp</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
errorHandlerRef="errorHandler">
|
||||
|
||||
<route id="gfeParmIdCacheListenerEndpoint">
|
||||
<from uri="jms-generic:topic:gfeGribNotification?concurrentConsumers=1" />
|
||||
<from uri="jms-generic:topic:gfeGribNotification"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="parmIdFilter" method="updateParmIdCache" />
|
||||
|
@ -72,7 +72,7 @@
|
|||
<filter>
|
||||
<method bean="gfeNotifyFilter" method="isGfeNotification" />
|
||||
<bean ref="serializationUtil" method="transformToThrift" />
|
||||
<to uri="jms-generic:topic:edex.alerts.gfe?timeToLive=60000" />
|
||||
<to uri="jms-durable:topic:edex.alerts.gfe?timeToLive=60000" />
|
||||
</filter>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
|
@ -87,7 +87,7 @@
|
|||
</route>
|
||||
|
||||
<route id="rebuildD2DCacheAfterPurge">
|
||||
<from uri="jms-generic:topic:pluginPurged" />
|
||||
<from uri="jms-durable:topic:pluginPurged" />
|
||||
<doTry>
|
||||
<bean ref="d2dParmIdCache" method="pluginPurged" />
|
||||
<doCatch>
|
||||
|
|
|
@ -461,11 +461,9 @@
|
|||
<bean id="iscSendQueue" class="com.raytheon.edex.plugin.gfe.isc.IscSendQueue"
|
||||
factory-method="getInstance" />
|
||||
<bean id="jms-iscsend" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIscSendConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="iscSendThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIscSendConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="iscSendThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="2" />
|
||||
|
@ -487,11 +485,9 @@
|
|||
<!-- ISC Receive Beans -->
|
||||
|
||||
<bean id="jms-iscrec" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIscReceiveConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="iscReceiveThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIscReceiveConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="iscReceiveThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="2" />
|
||||
|
@ -623,7 +619,7 @@
|
|||
|
||||
<!-- ISC Data Receive route -->
|
||||
<route id="iscReceiveRoute">
|
||||
<from uri="jms-iscrec:queue:gfeIscDataReceive?concurrentConsumers=2&destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-iscrec:queue:gfeIscDataReceive?concurrentConsumers=2"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
|
@ -643,7 +639,7 @@
|
|||
errorHandlerRef="errorHandler" autoStartup="false">
|
||||
|
||||
<route id="iscSendJobQueueAggr">
|
||||
<from uri="jms-iscsend:queue:iscSendNotification?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-iscsend:queue:iscSendNotification" />
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="iscSendQueue" method="addSendJobs" />
|
||||
|
|
|
@ -5,11 +5,9 @@
|
|||
|
||||
<bean id="smartInitQueue" class="com.raytheon.edex.plugin.gfe.smartinit.SmartInitQueue"/>
|
||||
<bean id="jms-smartinit" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsSmartInitConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="smartInitThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsSmartInitConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="smartInitThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="${smartinit.threadpoolsize}" />
|
||||
|
@ -40,7 +38,7 @@
|
|||
xmlns="http://camel.apache.org/schema/spring"
|
||||
errorHandlerRef="errorHandler">
|
||||
<route id="SPCWatch">
|
||||
<from uri="jms-generic:queue:edex.spcWatch?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:edex.spcWatch"/>
|
||||
<doTry>
|
||||
<bean ref="spcWatch" method="handleSpcWatch" />
|
||||
<doCatch>
|
||||
|
@ -51,7 +49,7 @@
|
|||
</route>
|
||||
|
||||
<route id="TPCWatch">
|
||||
<from uri="jms-generic:queue:edex.tpcWatch?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:edex.tpcWatch"/>
|
||||
<doTry>
|
||||
<bean ref="tpcWatch" method="handleTpcWatch" />
|
||||
<doCatch>
|
||||
|
@ -78,7 +76,7 @@
|
|||
|
||||
<!-- gfeIngestNotification must be a singleton and has 4 threads to read due to throughput of messages during model run times -->
|
||||
<route id="gfeIngestNotification">
|
||||
<from uri="jms-generic:queue:gfeDataURINotification?destinationResolver=#qpidDurableResolver&concurrentConsumers=4" />
|
||||
<from uri="jms-durable:queue:gfeDataURINotification?concurrentConsumers=4" />
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="gfeIngestFilter" method="filterDataURINotifications" />
|
||||
|
@ -117,9 +115,9 @@
|
|||
|
||||
<!-- Convert the topic into a queue so only one consumer gets each message and we still have competing consumers. -->
|
||||
<route id="gfeDataURINotificationQueueRoute">
|
||||
<from uri="jms-gfe-notify:topic:edex.alerts" />
|
||||
<from uri="jms-generic:topic:edex.alerts" />
|
||||
<doTry>
|
||||
<to uri="jms-generic:queue:gfeDataURINotification"/>
|
||||
<to uri="jms-durable:queue:gfeDataURINotification"/>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
<to
|
||||
|
@ -128,40 +126,6 @@
|
|||
</doTry>
|
||||
</route>
|
||||
</camelContext>
|
||||
|
||||
<!-- Beans to define a custom jms connection which will allow a durable subscription -->
|
||||
<bean id="gfeNotifyConnectionFactory" class="org.apache.qpid.client.AMQConnectionFactory">
|
||||
<constructor-arg type="java.lang.String" value="amqp://guest:guest@gfeNotify/edex?brokerlist='tcp://${BROKER_ADDR}?retries='9999'&connecttimeout='5000'&connectdelay='5000''&maxprefetch='0'&sync_publish='all'&sync_ack='true'"/>
|
||||
</bean>
|
||||
|
||||
<bean id="gfeNotifyPooledConnectionFactory" class="com.raytheon.uf.common.jms.JmsPooledConnectionFactory">
|
||||
<constructor-arg ref="gfeNotifyConnectionFactory"/>
|
||||
<property name="provider" value="QPID"/>
|
||||
<property name="reconnectInterval" value="5000"/>
|
||||
<!-- After connection has been closed by thread keep it allocated for another 90 seconds in case thread needs it again -->
|
||||
<property name="connectionHoldTime" value="90000"/>
|
||||
<!-- Any resource that has been available in the pool for more than 1 minute will be closed -->
|
||||
<property name="resourceRetention" value="60000"/>
|
||||
<property name="maxSpareConnections" value="1"/>
|
||||
</bean>
|
||||
|
||||
<bean id="gfeNotifyJmsConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
<property name="listenerConnectionFactory" ref="gfeNotifyPooledConnectionFactory" />
|
||||
<property name="templateConnectionFactory" ref="gfeNotifyPooledConnectionFactory" />
|
||||
</bean>
|
||||
|
||||
<bean id="gfeNotifyThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="1" />
|
||||
<property name="maxPoolSize" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="jms-gfe-notify" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="gfeNotifyJmsConfig" />
|
||||
<property name="taskExecutor" ref="gfeNotifyThreadPool" />
|
||||
</bean>
|
||||
<!-- end of custom JMS beans -->
|
||||
|
||||
<bean factory-bean="clusteredCamelContextMgr"
|
||||
factory-method="register">
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
package com.raytheon.edex.plugin.gfe.cache.d2dparms;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
@ -72,6 +71,8 @@ import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
|||
* Mar 20, 2013 #1774 randerso Changed to use GFDD2DDao
|
||||
* Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
||||
* May 14, 2013 #2004 randerso Added DBInvChangeNotifications when D2D data is purged
|
||||
* Sep 12, 2013 #2348 randerso Changed to send DBInvChangeNotifications in a batch instead
|
||||
* of one at a time.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -346,13 +347,8 @@ public class D2DParmIdCache {
|
|||
putParmIDList(parmIds);
|
||||
List<DatabaseID> currentDbInventory = this.getDatabaseIDs();
|
||||
dbsToRemove.removeAll(currentDbInventory);
|
||||
List<DBInvChangeNotification> invChgList = new ArrayList<DBInvChangeNotification>(
|
||||
dbsToRemove.size());
|
||||
for (DatabaseID dbId : dbsToRemove) {
|
||||
invChgList.add(new DBInvChangeNotification(null, Arrays
|
||||
.asList(dbId), siteID));
|
||||
}
|
||||
SendNotifications.send(invChgList);
|
||||
SendNotifications.send(new DBInvChangeNotification(null,
|
||||
dbsToRemove, siteID));
|
||||
|
||||
// inform GfeIngestNotificationFilter of removed dbs
|
||||
GfeIngestNotificationFilter.purgeDbs(dbsToRemove);
|
||||
|
|
|
@ -88,7 +88,7 @@ import com.raytheon.uf.edex.site.notify.SendSiteActivationNotifications;
|
|||
* activation.
|
||||
* Mar 20, 2013 #1774 randerso Changed to use GFED2DDao
|
||||
* May 02, 2013 #1969 randerso Moved updateDbs method into IFPGridDatabase
|
||||
*
|
||||
* Sep 13, 2013 2368 rjpeter Used durable jms settings.
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
|
@ -115,7 +115,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
|
||||
private boolean intialized = false;
|
||||
|
||||
private ExecutorService postActivationTaskExecutor = MoreExecutors
|
||||
private final ExecutorService postActivationTaskExecutor = MoreExecutors
|
||||
.getExitingExecutorService((ThreadPoolExecutor) Executors
|
||||
.newCachedThreadPool());
|
||||
|
||||
|
@ -356,7 +356,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
GridDatabase db = GridParmManager.getDb(dbid);
|
||||
// cluster locked since IFPGridDatabase can modify the grids
|
||||
// based on changes to grid size, etc
|
||||
if (db instanceof IFPGridDatabase && db.databaseIsValid()) {
|
||||
if ((db instanceof IFPGridDatabase) && db.databaseIsValid()) {
|
||||
((IFPGridDatabase) db).updateDbs();
|
||||
}
|
||||
}
|
||||
|
@ -410,7 +410,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
long startTime = System.currentTimeMillis();
|
||||
// wait for system startup or at least 3 minutes
|
||||
while (!EDEXUtil.isRunning()
|
||||
|| System.currentTimeMillis() > startTime + 180000) {
|
||||
|| (System.currentTimeMillis() > (startTime + 180000))) {
|
||||
try {
|
||||
Thread.sleep(15000);
|
||||
} catch (InterruptedException e) {
|
||||
|
@ -420,7 +420,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
|
||||
ClusterTask ct = ClusterLockUtils.lookupLock(TASK_NAME,
|
||||
SMART_INIT_TASK_DETAILS + siteID);
|
||||
if (ct.getLastExecution() + SMART_INIT_TIMEOUT < System
|
||||
if ((ct.getLastExecution() + SMART_INIT_TIMEOUT) < System
|
||||
.currentTimeMillis()) {
|
||||
ct = ClusterLockUtils.lock(TASK_NAME,
|
||||
SMART_INIT_TASK_DETAILS + siteID,
|
||||
|
@ -467,7 +467,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
"Firing smartinit for " + id);
|
||||
try {
|
||||
producer.sendAsyncUri(
|
||||
"jms-generic:queue:manualSmartInit",
|
||||
"jms-durable:queue:manualSmartInit",
|
||||
id
|
||||
+ ":0::"
|
||||
+ SmartInitRecord.SITE_ACTIVATION_INIT_PRIORITY);
|
||||
|
@ -499,7 +499,7 @@ public class GFESiteActivation implements ISiteActivationListener {
|
|||
long startTime = System.currentTimeMillis();
|
||||
// wait for system startup or at least 3 minutes
|
||||
while (!EDEXUtil.isRunning()
|
||||
|| System.currentTimeMillis() > startTime + 180000) {
|
||||
|| (System.currentTimeMillis() > (startTime + 180000))) {
|
||||
try {
|
||||
Thread.sleep(15000);
|
||||
} catch (InterruptedException e) {
|
||||
|
|
|
@ -100,6 +100,12 @@ import com.raytheon.uf.edex.database.purge.PurgeLogger;
|
|||
* Removed inventory from DBInvChangedNotification
|
||||
* 05/03/13 #1974 randerso Fixed error logging to include stack trace
|
||||
* 05/14/13 #2004 randerso Added methods to synch GridParmManager across JVMs
|
||||
* 09/12/13 #2348 randerso Added logging when database are added/removed from dbMap
|
||||
* Fixed the synchronization of dbMap with the database inventory
|
||||
* Changed to call D2DGridDatabase.getDatabase instead of calling
|
||||
* the constructor directly to ensure the data exists before creating
|
||||
* the D2DGridDatabase object
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bphillip
|
||||
|
@ -1016,10 +1022,10 @@ public class GridParmManager {
|
|||
sr.addMessage("VersionPurge failed - couldn't get inventory");
|
||||
return sr;
|
||||
}
|
||||
List<DatabaseID> databases = sr.getPayload();
|
||||
List<DatabaseID> currentInv = sr.getPayload();
|
||||
|
||||
// sort the inventory by site, type, model, time (most recent first)
|
||||
Collections.sort(databases);
|
||||
Collections.sort(currentInv);
|
||||
|
||||
// process the inventory looking for "old" unwanted databases
|
||||
String model = null;
|
||||
|
@ -1027,7 +1033,7 @@ public class GridParmManager {
|
|||
String type = null;
|
||||
int count = 0;
|
||||
int desiredVersions = 0;
|
||||
for (DatabaseID dbId : databases) {
|
||||
for (DatabaseID dbId : currentInv) {
|
||||
// new series?
|
||||
if (!dbId.getSiteId().equals(site)
|
||||
|| !dbId.getDbType().equals(type)
|
||||
|
@ -1055,11 +1061,31 @@ public class GridParmManager {
|
|||
}
|
||||
}
|
||||
|
||||
List<DatabaseID> newInv = getDbInventory(siteID).getPayload();
|
||||
List<DatabaseID> additions = new ArrayList<DatabaseID>(newInv);
|
||||
additions.removeAll(currentInv);
|
||||
|
||||
List<DatabaseID> deletions = new ArrayList<DatabaseID>(currentInv);
|
||||
deletions.removeAll(newInv);
|
||||
|
||||
// kludge to keep dbMap in synch until GridParmManager/D2DParmICache
|
||||
// merge/refactor
|
||||
dbMap.keySet().retainAll(databases);
|
||||
List<DatabaseID> toRemove = new ArrayList<DatabaseID>(dbMap.keySet());
|
||||
toRemove.removeAll(newInv);
|
||||
for (DatabaseID dbId : toRemove) {
|
||||
statusHandler
|
||||
.info("Synching GridParmManager with database inventory, removing "
|
||||
+ dbId);
|
||||
dbMap.remove(dbId);
|
||||
|
||||
createDbNotification(siteID, databases);
|
||||
// add any removals to the deletions list
|
||||
// so notifications go to the other JVMs
|
||||
if (!deletions.contains(dbId)) {
|
||||
deletions.add(dbId);
|
||||
}
|
||||
}
|
||||
|
||||
createDbNotification(siteID, additions, deletions);
|
||||
|
||||
return sr;
|
||||
}
|
||||
|
@ -1220,8 +1246,8 @@ public class GridParmManager {
|
|||
// ingested
|
||||
String d2dModelName = serverConfig
|
||||
.d2dModelNameMapping(modelName);
|
||||
db = new D2DGridDatabase(serverConfig, d2dModelName,
|
||||
dbId.getModelTimeAsDate());
|
||||
db = D2DGridDatabase.getDatabase(serverConfig,
|
||||
d2dModelName, dbId.getModelTimeAsDate());
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
e.getLocalizedMessage(), e);
|
||||
|
@ -1244,6 +1270,7 @@ public class GridParmManager {
|
|||
}
|
||||
|
||||
if ((db != null) && db.databaseIsValid()) {
|
||||
statusHandler.info("getDb called, adding " + dbId);
|
||||
dbMap.put(dbId, db);
|
||||
}
|
||||
}
|
||||
|
@ -1255,6 +1282,8 @@ public class GridParmManager {
|
|||
while (iter.hasNext()) {
|
||||
DatabaseID dbId = iter.next();
|
||||
if (dbId.getSiteId().equals(siteID)) {
|
||||
statusHandler.info("purgeDbCache(" + siteID + "), removing "
|
||||
+ dbId);
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
|
@ -1370,18 +1399,6 @@ public class GridParmManager {
|
|||
return sr;
|
||||
}
|
||||
|
||||
private static void createDbNotification(String siteID,
|
||||
List<DatabaseID> prevInventory) {
|
||||
List<DatabaseID> newInventory = getDbInventory(siteID).getPayload();
|
||||
List<DatabaseID> additions = new ArrayList<DatabaseID>(newInventory);
|
||||
additions.removeAll(prevInventory);
|
||||
|
||||
List<DatabaseID> deletions = new ArrayList<DatabaseID>(prevInventory);
|
||||
deletions.removeAll(newInventory);
|
||||
|
||||
createDbNotification(siteID, additions, deletions);
|
||||
}
|
||||
|
||||
private static void createDbNotification(String siteID,
|
||||
List<DatabaseID> additions, List<DatabaseID> deletions) {
|
||||
if (!additions.isEmpty() || !deletions.isEmpty()) {
|
||||
|
@ -1400,6 +1417,7 @@ public class GridParmManager {
|
|||
"Unable to purge model database: " + id, e);
|
||||
}
|
||||
}
|
||||
statusHandler.info("deallocateDb called, removing " + id);
|
||||
dbMap.remove(id);
|
||||
}
|
||||
|
||||
|
@ -1429,6 +1447,9 @@ public class GridParmManager {
|
|||
}
|
||||
|
||||
for (DatabaseID dbId : invChanged.getDeletions()) {
|
||||
statusHandler
|
||||
.info("DBInvChangeNotification deletion received, removing "
|
||||
+ dbId);
|
||||
dbMap.remove(dbId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,6 @@ import com.raytheon.edex.plugin.gfe.db.dao.GFED2DDao;
|
|||
import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfo;
|
||||
import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfoLookup;
|
||||
import com.raytheon.edex.plugin.gfe.paraminfo.ParameterInfo;
|
||||
import com.raytheon.edex.plugin.gfe.server.GridParmManager;
|
||||
import com.raytheon.uf.common.comm.CommunicationException;
|
||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||
import com.raytheon.uf.common.dataplugin.gfe.GridDataHistory;
|
||||
|
@ -107,6 +106,9 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
|||
* 04/17/2013 #1913 randerso Added GFE level mapping to replace GridTranslator
|
||||
* 05/02/2013 #1969 randerso Removed unnecessary updateDbs method
|
||||
* 05/03/2013 #1974 randerso Fixed error handling when no D2D level mapping found
|
||||
* 09/12/2013 #2348 randerso Removed code that called getDb from getD2DDatabaseIdsFromDb
|
||||
* Added function to create a D2DGridDatabase object only if there is
|
||||
* data in postgres for the desired model/reftime
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -135,6 +137,33 @@ public class D2DGridDatabase extends VGridDatabase {
|
|||
gfeModelName, modelTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a D2DGridDatabase if it is available
|
||||
*
|
||||
* @param config
|
||||
* configuration for site
|
||||
* @param dbId
|
||||
* DatabaseID of desired database
|
||||
* @return D2DGridDatabase or null if not available
|
||||
*/
|
||||
public static D2DGridDatabase getDatabase(IFPServerConfig config,
|
||||
String d2dModelName, Date refTime) {
|
||||
try {
|
||||
GFED2DDao dao = new GFED2DDao();
|
||||
List<Date> result = dao.getModelRunTimes(d2dModelName, -1);
|
||||
|
||||
if (result.contains(refTime)) {
|
||||
D2DGridDatabase db = new D2DGridDatabase(config, d2dModelName,
|
||||
refTime);
|
||||
return db;
|
||||
}
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves DatabaseIDs for all model runs of a given d2dModelName
|
||||
*
|
||||
|
@ -178,15 +207,7 @@ public class D2DGridDatabase extends VGridDatabase {
|
|||
for (Date date : result) {
|
||||
DatabaseID dbId = null;
|
||||
dbId = getDbId(d2dModelName, date, config);
|
||||
try {
|
||||
GridDatabase db = GridParmManager.getDb(dbId);
|
||||
if ((db != null) && !dbInventory.contains(dbId)) {
|
||||
dbInventory.add(dbId);
|
||||
}
|
||||
} catch (GfeException e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
e.getLocalizedMessage(), e);
|
||||
}
|
||||
dbInventory.add(dbId);
|
||||
}
|
||||
return dbInventory;
|
||||
} catch (PluginException e) {
|
||||
|
@ -285,10 +306,14 @@ public class D2DGridDatabase extends VGridDatabase {
|
|||
/**
|
||||
* Constructs a new D2DGridDatabase
|
||||
*
|
||||
* For internal use only. External code should call
|
||||
* D2DGridDatabase.getDatabase(IFPServerConfig, String, Date) to ensure
|
||||
* objects are only created if data is present
|
||||
*
|
||||
* @param dbId
|
||||
* The database ID of this database
|
||||
*/
|
||||
public D2DGridDatabase(IFPServerConfig config, String d2dModelName,
|
||||
private D2DGridDatabase(IFPServerConfig config, String d2dModelName,
|
||||
Date refTime) throws GfeException {
|
||||
super(config);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ import com.raytheon.uf.common.serialization.comm.IRequestHandler;
|
|||
import com.raytheon.uf.edex.core.EDEXUtil;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* Handler for SmartInitRequest.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -43,7 +43,7 @@ import com.raytheon.uf.edex.core.EDEXUtil;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Oct 12, 2010 dgilling Initial creation
|
||||
*
|
||||
* Sep 13, 2013 2368 rjpeter Used durable jms settings.
|
||||
* </pre>
|
||||
*
|
||||
* @author dgilling
|
||||
|
@ -93,7 +93,7 @@ public class SmartInitRequestHandler implements
|
|||
.append(SmartInitRecord.MANUAL_SMART_INIT_PRIORITY);
|
||||
|
||||
EDEXUtil.getMessageProducer().sendAsyncUri(
|
||||
"jms-generic:queue:manualSmartInit",
|
||||
"jms-durable:queue:manualSmartInit",
|
||||
manualInitString.toString());
|
||||
} else {
|
||||
sr.addMessage("No valid model data could be retrieved for model "
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<bean id="goessoundingDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="goessoundingPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.goessounding?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.goessounding"/>
|
||||
</bean>
|
||||
|
||||
<bean id="goessoundingCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -35,13 +35,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>goessounding</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.goessounding" />
|
||||
<to uri="jms-durable:queue:Ingest.goessounding" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin GOES Sounding routes -->
|
||||
<route id="goessndgIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.goessounding?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.goessounding"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>goessounding</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -6,14 +6,10 @@
|
|||
<bean id="gribDecoder" class="com.raytheon.edex.plugin.grib.GribDecoder" />
|
||||
|
||||
<bean id="ingest-grib" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestGribConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="gribThreadPool" />
|
||||
</bean>
|
||||
|
||||
<bean id="jmsIngestGribConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
|
||||
<bean id="gribThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="${grib-decode.count.threads}" />
|
||||
|
@ -58,7 +54,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<endpoint id="gribFileEndpoint" uri="file:${edex.home}/data/sbn/grib?noop=true&idempotent=false" />
|
||||
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}&destinationResolver=#qpidDurableResolver" />
|
||||
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}"/>
|
||||
|
||||
<route id="gribFileConsumerRoute">
|
||||
<from ref="gribFileEndpoint" />
|
||||
|
|
|
@ -6,14 +6,10 @@
|
|||
<bean id="gribDecoder" class="com.raytheon.edex.plugin.grib.GribDecoder" />
|
||||
|
||||
<bean id="ingest-grib" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestGribConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="gribThreadPool" />
|
||||
</bean>
|
||||
|
||||
<bean id="jmsIngestGribConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
|
||||
<bean id="gribThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="${grib-decode.count.threads}" />
|
||||
|
@ -57,7 +53,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<endpoint id="gribFileEndpoint" uri="file:${edex.home}/data/sbn/grib?noop=true&idempotent=false" />
|
||||
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}&destinationResolver=#qpidDurableResolver" />
|
||||
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}"/>
|
||||
|
||||
<route id="gribFileConsumerRoute">
|
||||
<from ref="gribFileEndpoint" />
|
||||
|
|
|
@ -515,11 +515,6 @@
|
|||
<datasetId>FFG-TIR</datasetId>
|
||||
<dt>1</dt>
|
||||
</info>
|
||||
<info>
|
||||
<title>FFG-TIR-HiRes</title>
|
||||
<datasetId>FFG-TIR-HiRes</datasetId>
|
||||
<dt>1</dt>
|
||||
</info>
|
||||
<info>
|
||||
<title>QPE-TIR</title>
|
||||
<datasetId>QPE-TIR</datasetId>
|
||||
|
|
|
@ -1079,19 +1079,9 @@
|
|||
<id>180</id>
|
||||
</process>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>FFG-TIR</name>
|
||||
<center>9</center>
|
||||
<subcenter>160</subcenter>
|
||||
<grid>240160</grid>
|
||||
<process>
|
||||
<id>151</id>
|
||||
</process>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>FFG-TIR-HiRes</name>
|
||||
<name>FFG-TIR</name>
|
||||
<center>9</center>
|
||||
<subcenter>160</subcenter>
|
||||
<grid>250160</grid>
|
||||
|
|
|
@ -21,11 +21,11 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>ldad</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.ldad" />
|
||||
<to uri="jms-durable:queue:Ingest.ldad" />
|
||||
</route>
|
||||
|
||||
<route id="ldadIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ldad" />
|
||||
<from uri="jms-durable:queue:Ingest.ldad" />
|
||||
<multicast>
|
||||
<try>
|
||||
<to uri="direct-vm:ldadmesonetIngest" />
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<bean id="ldadhydroDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="ldadhydro" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadhydro?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadhydro" />
|
||||
</bean>
|
||||
|
||||
<bean id="ldadhydroPointData" class="com.raytheon.edex.plugin.ldadhydro.dao.LdadhydroPointDataTransform"/>
|
||||
|
@ -30,7 +30,7 @@
|
|||
errorHandlerRef="errorHandler"
|
||||
autoStartup="false">
|
||||
<route id="ldadhydroIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ldadhydro?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.ldadhydro"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<bean id="ldadmanualDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="ldadmanual" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadmanual?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadmanual"/>
|
||||
</bean>
|
||||
|
||||
<bean id="ldadmanualCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -28,7 +28,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="ldadmanualIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ldadmanual?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.ldadmanual"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<bean id="ldadprofilerDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="ldadprofiler" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadprofiler?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadprofiler"/>
|
||||
</bean>
|
||||
|
||||
<bean id="ldadprofilerCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -37,13 +37,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>ldadprofiler</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.ldadprofiler" />
|
||||
<to uri="jms-durable:queue:Ingest.ldadprofiler" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin ldadprofiler routes -->
|
||||
<route id="ldadprofilerIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ldadprofiler?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.ldadprofiler"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<bean id="mdlsndgDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="modelsoundingPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.modelsounding?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.modelsounding"/>
|
||||
</bean>
|
||||
|
||||
<bean id="modelsoundingCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -45,13 +45,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>modelsounding</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.modelsounding" />
|
||||
<to uri="jms-durable:queue:Ingest.modelsounding" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin Model Sounding routes -->
|
||||
<route id="modelsndgIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.modelsounding?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.modelsounding"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>modelsounding</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<bean id="obsDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="obs" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.obs?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.obs"/>
|
||||
</bean>
|
||||
|
||||
<bean id="obsCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -38,13 +38,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>obs</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.obs" />
|
||||
<to uri="jms-durable:queue:Ingest.obs" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin METAR routes -->
|
||||
<route id="metarIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.obs?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.obs"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>obs</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -34,12 +34,12 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>pirep</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.pirep"/>
|
||||
<to uri="jms-durable:queue:Ingest.pirep"/>
|
||||
</route>
|
||||
-->
|
||||
<!-- Begin Pirep routes -->
|
||||
<route id="pirepIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.pirep?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:Ingest.pirep"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>pirep</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<bean id="poessoundingDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="poessoundingPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.poessounding?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.poessounding"/>
|
||||
</bean>
|
||||
|
||||
<bean id="poessoundingCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -30,13 +30,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>poessounding</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.poessounding"/>
|
||||
<to uri="jms-durable:queue:Ingest.poessounding"/>
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin poes Sounding routes -->
|
||||
<route id="poessndgIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.poessounding?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:Ingest.poessounding"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>poessounding</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<bean id="profilerDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="profilerPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.profiler?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.profiler"/>
|
||||
</bean>
|
||||
|
||||
<bean id="profilerCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -30,13 +30,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>profiler</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.profiler"/>
|
||||
<to uri="jms-durable:queue:Ingest.profiler"/>
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin Profiler routes -->
|
||||
<route id="profilerIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.profiler?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:Ingest.profiler"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>profiler</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -6,12 +6,9 @@
|
|||
<bean id="radarDecompressor" class="com.raytheon.edex.plugin.radar.RadarDecompressor"/>
|
||||
<bean id="radarDecoder" class="com.raytheon.edex.plugin.radar.RadarDecoder"/>
|
||||
<bean id="jms-radar" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestRadarConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="radarThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestRadarConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
<bean id="radarThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="2" />
|
||||
|
@ -54,7 +51,7 @@
|
|||
|
||||
<!-- Begin Radar routes -->
|
||||
<route id="radarIngestRoute">
|
||||
<from uri="jms-radar:queue:Ingest.Radar?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-radar:queue:Ingest.Radar"/>
|
||||
<setHeader headerName="dataType">
|
||||
<constant>radar-sbn</constant>
|
||||
</setHeader>
|
||||
|
@ -62,7 +59,7 @@
|
|||
</route>
|
||||
|
||||
<route id="radarRadarServerIngestRoute">
|
||||
<from uri="jms-radar:queue:Ingest.RadarRadarServer?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-radar:queue:Ingest.RadarRadarServer"/>
|
||||
<setHeader headerName="dataType">
|
||||
<constant>radar-local</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -33,13 +33,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>recco</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.recco" />
|
||||
<to uri="jms-durable:queue:Ingest.recco" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin RECCO routes -->
|
||||
<route id="reccoIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.recco?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.recco"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>recco</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="redbookDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="redbook" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.redbook?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.redbook"/>
|
||||
</bean>
|
||||
|
||||
<!--
|
||||
|
@ -38,13 +38,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>redbook</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.redbook" />
|
||||
<to uri="jms-durable:queue:Ingest.redbook" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin Redbook routes -->
|
||||
<route id="redbookIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.redbook?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.redbook"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>redbook</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean id="jms-satellite" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestSatelliteConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="satelliteThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestSatelliteConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="satelliteThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="1" />
|
||||
|
@ -47,13 +45,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>satellite</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.Satellite" />
|
||||
<to uri="jms-durable:queue:Ingest.Satellite" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin Sat routes -->
|
||||
<route id="satIngestRoute">
|
||||
<from uri="jms-satellite:queue:Ingest.Satellite?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-satellite:queue:Ingest.Satellite"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>satellite</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<bean id="sfcobsDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="sfcobs" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.sfcobs?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.sfcobs"/>
|
||||
</bean>
|
||||
|
||||
<bean id="sfcobsCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -37,13 +37,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>sfcobs</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.sfcobs" />
|
||||
<to uri="jms-durable:queue:Ingest.sfcobs" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin sfcobs routes -->
|
||||
<route id="sfcobsIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.sfcobs?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.sfcobs"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>sfcobs</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean id="jms-shef" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestShefConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="shefThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestShefConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="shefThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="3" />
|
||||
|
@ -47,13 +45,13 @@
|
|||
factory-method="register">
|
||||
<constructor-arg value="shef" />
|
||||
<constructor-arg
|
||||
value="jms-dist:queue:Ingest.Shef?destinationResolver=#qpidDurableResolver" />
|
||||
value="jms-dist:queue:Ingest.Shef"/>
|
||||
</bean>
|
||||
|
||||
<bean id="shefHandleoupDistRegistry" factory-bean="handleoupDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="shef" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Shef?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Shef"/>
|
||||
</bean>
|
||||
|
||||
<bean id="shefCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -80,7 +78,7 @@
|
|||
<bean ref="manualProc" method="copyFileToArchive" />
|
||||
<bean ref="manualProc" />
|
||||
<to
|
||||
uri="jms-generic:queue:Ingest.ShefManual?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-durable:queue:Ingest.ShefManual"/>
|
||||
</route>
|
||||
</camelContext>
|
||||
|
||||
|
@ -92,7 +90,7 @@
|
|||
<!-- Begin shef routes -->
|
||||
<route id="shefIngestRoute">
|
||||
<from
|
||||
uri="jms-shef:queue:Ingest.Shef?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-shef:queue:Ingest.Shef"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>shef</constant>
|
||||
</setHeader>
|
||||
|
@ -103,7 +101,7 @@
|
|||
</route>
|
||||
<route id="shefStagedRoute">
|
||||
<from
|
||||
uri="jms-shef:queue:Ingest.ShefStaged?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-shef:queue:Ingest.ShefStaged"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>shef</constant>
|
||||
</setHeader>
|
||||
|
@ -119,7 +117,7 @@
|
|||
<split streaming="true">
|
||||
<method bean="synopticToShef" method="iterate" />
|
||||
<bean ref="synopticToShef" method="transform" />
|
||||
<to uri="jms-generic:queue:Ingest.ShefStaged" />
|
||||
<to uri="jms-durable:queue:Ingest.ShefStaged" />
|
||||
</split>
|
||||
</pipeline>
|
||||
</route>
|
||||
|
@ -134,7 +132,7 @@
|
|||
<method bean="metarToShef" method="iterate" />
|
||||
<bean ref="metarToShef" method="transformMetar" />
|
||||
<to
|
||||
uri="jms-generic:queue:Ingest.ShefStaged?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-durable:queue:Ingest.ShefStaged"/>
|
||||
</split>
|
||||
</pipeline>
|
||||
</route>
|
||||
|
@ -155,7 +153,7 @@
|
|||
|
||||
<route id="shefManualIngestRoute">
|
||||
<from
|
||||
uri="jms-shef:queue:Ingest.ShefManual?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-shef:queue:Ingest.ShefManual"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>shef</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<bean id="tafDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="taf" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.taf?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.taf"/>
|
||||
</bean>
|
||||
|
||||
<bean id="tafHandleoupDistRegistry" factory-bean="handleoupDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="taf" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.taf?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.taf"/>
|
||||
</bean>
|
||||
|
||||
<bean id="tafCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -36,13 +36,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>taf</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.taf" />
|
||||
<to uri="jms-durable:queue:Ingest.taf" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin TAF routes -->
|
||||
<route id="tafIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.taf?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.taf"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>taf</constant>
|
||||
</setHeader>
|
||||
|
@ -69,7 +69,5 @@
|
|||
</doCatch>
|
||||
</doTry>
|
||||
</route>
|
||||
|
||||
</camelContext>
|
||||
|
||||
</beans>
|
|
@ -11,13 +11,13 @@
|
|||
<bean id="textDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="text" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Text?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Text"/>
|
||||
</bean>
|
||||
|
||||
<bean id="textHandleoupDistRegistry" factory-bean="handleoupDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="text" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Text?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Text"/>
|
||||
</bean>
|
||||
|
||||
<!-- define the bean that handles automatic faxing of products. -->
|
||||
|
@ -28,12 +28,9 @@
|
|||
<bean id="textVersionPurge" class="com.raytheon.edex.plugin.text.TextVersionPurge" depends-on="textRegistered"/>
|
||||
|
||||
<bean id="jms-text" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestTextConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="textThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestTextConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
<bean id="textThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="2" />
|
||||
|
@ -61,7 +58,7 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>text</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.Text" />
|
||||
<to uri="jms-durable:queue:Ingest.Text" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
|
@ -115,7 +112,7 @@
|
|||
</route>
|
||||
|
||||
<route id="textUndecodedIngestRoute">
|
||||
<from uri="jms-text:queue:Ingest.Text?destinationResolver=#qpidDurableResolver&concurrentConsumers=2" />
|
||||
<from uri="jms-text:queue:Ingest.Text?concurrentConsumers=2" />
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>text</constant>
|
||||
</setHeader>
|
||||
|
@ -142,7 +139,7 @@
|
|||
<route id="textToWatchWarnRoute">
|
||||
<from uri="direct:textToWatchWarn" />
|
||||
<bean ref="textDecoder" method="transformToProductIds" />
|
||||
<to uri="jms-text:queue:watchwarn?destinationResolver=#qpidDurableResolver" />
|
||||
<to uri="jms-text:queue:watchwarn" />
|
||||
</route>
|
||||
|
||||
<route id="textSerializationRoute">
|
||||
|
@ -151,7 +148,7 @@
|
|||
<method bean="textDecoder" method="separator" />
|
||||
<bean ref="textDecoder" method="transformToSimpleString" />
|
||||
<bean ref="serializationUtil" method="transformToThrift"/>
|
||||
<to uri="jms-text:topic:edex.alarms.msg?timeToLive=60000" />
|
||||
<to uri="jms-generic:topic:edex.alarms.msg?timeToLive=60000" />
|
||||
</split>
|
||||
</route>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<bean id="textlightningDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="textlightning" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.textlightning?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.textlightning"/>
|
||||
</bean>
|
||||
|
||||
<bean id="textlightningCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>textlightning</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.textlightning" />
|
||||
<to uri="jms-durable:queue:Ingest.textlightning" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin textlightning routes -->
|
||||
<route id="textlightningIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.textlightning?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.textlightning"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>textlightning</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
<bean id="warningDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="warning" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Warning?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Warning"/>
|
||||
</bean>
|
||||
|
||||
<bean id="warningHandleoupDistRegistry" factory-bean="handleoupDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="warning" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Warning?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.Warning"/>
|
||||
</bean>
|
||||
|
||||
<bean id="warningCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -23,12 +23,9 @@
|
|||
</bean>
|
||||
|
||||
<bean id="jms-warning" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestWarningConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="warningThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestWarningConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
<bean id="warningThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="1" />
|
||||
|
@ -49,7 +46,7 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>warning</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.Warning" />
|
||||
<to uri="jms-durable:queue:Ingest.Warning" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
|
@ -57,7 +54,7 @@
|
|||
Warning routes
|
||||
-->
|
||||
<route id="warningIngestRoute">
|
||||
<from uri="jms-warning:queue:Ingest.Warning?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-warning:queue:Ingest.Warning"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>warning</constant>
|
||||
</setHeader>
|
||||
|
@ -72,7 +69,7 @@
|
|||
<to uri="jms-warning:queue:edex.tpcWatch" />
|
||||
<filter>
|
||||
<method bean="vtecFilter" method="hasVTEC" />
|
||||
<to uri="jms-warning:queue:activeTablePending?destinationResolver=#qpidDurableResolver" />
|
||||
<to uri="jms-warning:queue:activeTablePending"/>
|
||||
</filter>
|
||||
</multicast>
|
||||
</pipeline>
|
||||
|
@ -89,6 +86,5 @@
|
|||
<bean ref="processUtil" method="log" />
|
||||
<to uri="vm:stageNotification" />
|
||||
</route>
|
||||
|
||||
</camelContext>
|
||||
</beans>
|
|
@ -11,7 +11,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="activeTablePendingRoute">
|
||||
<from uri="jms-generic:queue:activeTablePending?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:activeTablePending"/>
|
||||
<doTry>
|
||||
<bean ref="activeTableSrv" method="vtecArrived" />
|
||||
<doCatch>
|
||||
|
|
|
@ -30,9 +30,9 @@
|
|||
<!-- technically with qpid should be able to make this a durable subscription and not need to forward to another queue -->
|
||||
<doTry>
|
||||
<multicast>
|
||||
<to uri="jms-generic:queue:cpgsrvFiltering"/>
|
||||
<to uri="jms-generic:queue:scanCpgsrvFiltering"/>
|
||||
<to uri="jms-generic:queue:ffmpCpgsrvFiltering"/>
|
||||
<to uri="jms-durable:queue:cpgsrvFiltering"/>
|
||||
<to uri="jms-durable:queue:scanCpgsrvFiltering"/>
|
||||
<to uri="jms-durable:queue:ffmpCpgsrvFiltering"/>
|
||||
</multicast>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
|
@ -42,7 +42,7 @@
|
|||
</route>
|
||||
<route id="cpgsrvListenerRoute">
|
||||
<!-- technically with qpid should be able to make this a durable subscription and not need to forward to another queue -->
|
||||
<from uri="jms-generic:queue:cpgsrvFiltering?concurrentConsumers=5&destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:cpgsrvFiltering?concurrentConsumers=5"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
|
||||
<route id="bandwidthManagerProcessWork">
|
||||
<from
|
||||
uri="jms-generic:queue:matureSubscriptions?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-durable:queue:matureSubscriptions"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<bean id="notificationHandler"
|
||||
class="com.raytheon.uf.edex.datadelivery.event.handler.NotificationHandler">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="jms-generic:topic:notify.msg?destinationResolver=#qpidDurableResolver" />
|
||||
value="jms-generic:topic:notify.msg"/>
|
||||
<property name="notificationDao" ref="notificationDao" />
|
||||
</bean>
|
||||
|
||||
|
|
|
@ -2,13 +2,8 @@
|
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
||||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean id="jmsIngestHarvesterConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
|
||||
<bean id="jms-harvester" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestHarvesterConfig" />
|
||||
<constructor-arg ref="jmsGenericConfig" />
|
||||
<property name="taskExecutor" ref="harvesterThreadPool" />
|
||||
</bean>
|
||||
|
||||
|
@ -29,11 +24,11 @@
|
|||
errorHandlerRef="errorHandler">
|
||||
|
||||
<endpoint id="metaDataCron" uri="quartz://datadelivery/harvester/?cron=${metadata-process.cron}"/>
|
||||
<endpoint id="harvesterProcessWorkEndpoint" uri="jms-harvester:queue:metaDataProcessWork?concurrentConsumers=${metadata-process.threads}&destinationResolver=#qpidDurableResolver" />
|
||||
<endpoint id="harvesterProcessWorkEndpoint" uri="jms-harvester:queue:metaDataProcessWork?concurrentConsumers=${metadata-process.threads}"/>
|
||||
|
||||
<route id="metaDataProcess">
|
||||
<from uri="metaDataCron" />
|
||||
<to uri="jms-harvester:queue:metaDataProcessWork?destinationResolver=#qpidDurableResolver" />
|
||||
<to uri="jms-harvester:queue:metaDataProcessWork" />
|
||||
</route>
|
||||
|
||||
<route id="metaDataProcessWork">
|
||||
|
|
|
@ -34,12 +34,12 @@
|
|||
a new route and use moveFileToArchive -->
|
||||
<route id="handleoupFilePush">
|
||||
<from
|
||||
uri="jms-generic:queue:Ingest.handleoup?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-durable:queue:Ingest.handleoup"/>
|
||||
<doTry>
|
||||
<bean ref="stringToFile" />
|
||||
<bean ref="manualProc" />
|
||||
<to
|
||||
uri="jms-generic:queue:handleoup.dropbox?destinationResolver=#qpidDurableResolver" />
|
||||
uri="jms-durable:queue:handleoup.dropbox"/>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
<to
|
||||
|
|
|
@ -8,12 +8,10 @@
|
|||
<bean id="radarserverDistributionSrv" class="com.raytheon.uf.edex.distribution.DistributionSrv" />
|
||||
|
||||
<bean id="jms-dist" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestDistConfig" />
|
||||
<!-- All initial distribution queues are durable -->
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="distributionThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestDistConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy">
|
||||
</bean>
|
||||
|
||||
<bean id="distributionThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
|
@ -29,7 +27,7 @@
|
|||
<endpoint id="refreshDistributionCron" uri="quartz://refreshDist/refreshDistRoute/?cron=${distribution.cron}"/>
|
||||
|
||||
<route id="distribution">
|
||||
<from uri="jms-dist:queue:external.dropbox?concurrentConsumers=5&maxConcurrentConsumers=5&destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-dist:queue:external.dropbox?concurrentConsumers=5&maxConcurrentConsumers=5"/>
|
||||
<doTry>
|
||||
<bean ref="distributionSrv" method="route" />
|
||||
<doCatch>
|
||||
|
@ -40,7 +38,7 @@
|
|||
</route>
|
||||
|
||||
<route id="handleoupDistribution">
|
||||
<from uri="jms-dist:queue:handleoup.dropbox?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-dist:queue:handleoup.dropbox"/>
|
||||
<doTry>
|
||||
<bean ref="handleoupDistributionSrv" method="route" />
|
||||
<doCatch>
|
||||
|
@ -51,7 +49,7 @@
|
|||
</route>
|
||||
|
||||
<route id="radarserverDistribution">
|
||||
<from uri="jms-dist:queue:radarserver.dropbox?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-dist:queue:radarserver.dropbox" />
|
||||
<doTry>
|
||||
<bean ref="radarserverDistributionSrv" method="route" />
|
||||
<doCatch>
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<bean id="dpaDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="dpa" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dpa?destinationResolver=#qpidDurableResolver"/>
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dpa"/>
|
||||
</bean>
|
||||
|
||||
<bean id="dpaRadarServerDistRegistry" factory-bean="radarserverDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="dpa" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dpa?destinationResolver=#qpidDurableResolver"/>
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dpa"/>
|
||||
</bean>
|
||||
|
||||
<camelContext id="dpa-camel"
|
||||
|
@ -30,13 +30,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>dpa</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.dpa"/>
|
||||
<to uri="jms-durable:queue:Ingest.dpa"/>
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin dpa Routes -->
|
||||
<route id="dpaIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.dpa?destinationResolver=#qpidDurableResolver"/>
|
||||
<from uri="jms-durable:queue:Ingest.dpa"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>dpa</constant>
|
||||
</setHeader>
|
||||
|
@ -55,6 +55,5 @@
|
|||
</doCatch>
|
||||
</doTry>
|
||||
</route>
|
||||
|
||||
</camelContext>
|
||||
</beans>
|
|
@ -31,14 +31,14 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>arealffg</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.arealffg" />
|
||||
<to uri="jms-durable:queue:Ingest.arealffg" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin arealffg Routes -->
|
||||
<!--
|
||||
<route id="arealffgIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.arealffg" />
|
||||
<from uri="jms-durable:queue:Ingest.arealffg" />
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -9,20 +9,20 @@
|
|||
<bean id="dhrDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="dhr" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dhr?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dhr"/>
|
||||
</bean>
|
||||
|
||||
<bean id="dhrRadarServerDistRegistry" factory-bean="radarserverDistributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="dhr" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dhr?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.dhr"/>
|
||||
</bean>
|
||||
|
||||
<camelContext id="nonClusteredDHRroutes" xmlns="http://camel.apache.org/schema/spring"
|
||||
errorHandlerRef="errorHandler">
|
||||
<!-- Begin non-clustered dhr Routes -->
|
||||
<route id="dhrIngestFilter">
|
||||
<from uri="jms-generic:queue:Ingest.dhr?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.dhr"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>dhr</constant>
|
||||
</setHeader>
|
||||
|
@ -47,7 +47,7 @@
|
|||
errorHandlerRef="errorHandler">
|
||||
<!-- Begin dhr Routes -->
|
||||
<route id="dhrIngestRoute">
|
||||
<from uri="jms-generic:queue:dhrProcess?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:dhrProcess" />
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<bean id="q2DistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="q2" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.q2?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.q2"/>
|
||||
</bean>
|
||||
|
||||
<camelContext id="q2Proc-context"
|
||||
|
@ -17,7 +17,7 @@
|
|||
|
||||
<!-- Run the Q2 File Processor on new files -->
|
||||
<route id="q2File">
|
||||
<from uri="jms-generic:queue:Ingest.q2?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.q2"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="q2Proc" method="unzip" />
|
||||
|
|
|
@ -49,12 +49,12 @@ import com.raytheon.uf.edex.ohd.MainMethod;
|
|||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 20, 2010 4200 snaples Initial creation
|
||||
* Mar 09, 2012 417 dgilling Refactor to use two-stage queue
|
||||
* Jan 20, 2010 4200 snaples Initial creation
|
||||
* Mar 09, 2012 417 dgilling Refactor to use two-stage queue
|
||||
* process.
|
||||
* Mar 20, 2013 1804 bsteffen Switch all radar decompressing to be in
|
||||
* memory.
|
||||
*
|
||||
* Sep 13, 2013 2368 rjpeter Updated to use durable jms settings.
|
||||
* </pre>
|
||||
*
|
||||
* @author snaples
|
||||
|
@ -92,9 +92,9 @@ public class HPEDhrSrv {
|
|||
|
||||
private static final int DT_IDX = 2;
|
||||
|
||||
private static final String JMS_QUEUE_URI = "jms-generic:queue:dhrProcess";
|
||||
private static final String JMS_QUEUE_URI = "jms-durable:queue:dhrProcess";
|
||||
|
||||
private AppsDefaults appsDefaults = AppsDefaults.getInstance();
|
||||
private final AppsDefaults appsDefaults = AppsDefaults.getInstance();
|
||||
|
||||
/**
|
||||
* Route endpoint for "dhrIngestRoute". Takes a message, writes the file to
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="acarsDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="acarsPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.acars?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.acars"/>
|
||||
</bean>
|
||||
|
||||
<bean id="acarsCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -33,13 +33,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>acars</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.acars" />
|
||||
<to uri="jms-durable:queue:Ingest.acars" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin ACARS routes -->
|
||||
<route id="acarsIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.acars?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.acars"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>acars</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -37,13 +37,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrascat</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrascat" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrascat" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrascat routes -->
|
||||
<route id="bufrascatIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrascat?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrascat"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrascat</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="bufrhdwDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="bufrhdwPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrhdw?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrhdw"/>
|
||||
</bean>
|
||||
|
||||
<bean id="bufrhdwCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrhdw</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrhdw" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrhdw" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrhdw routes -->
|
||||
<route id="bufrhdwIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrhdw?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrhdw"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrhdw</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="bufrmthdwDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="bufrmthdwPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrmthdw?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrmthdw"/>
|
||||
</bean>
|
||||
|
||||
<bean id="bufrmthdwCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrmthdw</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrmthdw" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrmthdw" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrmthdw routes -->
|
||||
<route id="bufrhdwIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrmthdw?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrmthdw"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrmthdw</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<bean id="bufrncwfDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="bufrncwfPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrncwf?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrncwf"/>
|
||||
</bean>
|
||||
|
||||
<bean id="bufrncwfCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -30,13 +30,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrncwf</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrncwf" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrncwf" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrncwf routes -->
|
||||
<route id="bufrncwfIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrncwf?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrncwf"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrncwf</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<bean id="bufrquikscatDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="bufrquikscatPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrquikscat?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrquikscat"/>
|
||||
</bean>
|
||||
|
||||
<bean id="bufrquikscatCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -37,13 +37,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrquikscat</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrquikscat" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrquikscat" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrquikscat routes -->
|
||||
<route id="bufrquikscatIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrquikscat?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrquikscat"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrquikscat</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -32,13 +32,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrsigwx</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrsigwx" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrsigwx" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrsigwx routes -->
|
||||
<route id="bufrsigwxIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrsigwx?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrsigwx"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrsigwx</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<bean id="bufrssmiDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="bufrssmiPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrssmi?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.bufrssmi"/>
|
||||
</bean>
|
||||
|
||||
<bean id="bufrssmiCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -37,13 +37,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>bufrssmi</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.bufrssmi" />
|
||||
<to uri="jms-durable:queue:Ingest.bufrssmi" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin bufrssmi routes -->
|
||||
<route id="bufrssmiIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.bufrssmi?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.bufrssmi" />
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>bufrssmi</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="cwaIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.cwa?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.cwa"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>cwa</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<camelContext id="cwat-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="CWATGenerate">
|
||||
<from uri="jms-generic:queue:cwatGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:cwatGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="cwatGenerator" method="generate" />
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
<camelContext id="ffmp-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="FFMPGenerate">
|
||||
<from uri="jms-generic:queue:ffmpGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:ffmpGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="ffmpGenerator" method="generate" />
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<camelContext id="fog-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="FOGGenerate">
|
||||
<from uri="jms-generic:queue:fogGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:fogGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="fogGenerator" method="generate" />
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
<camelContext id="fssobs-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="FSSObsGenerate">
|
||||
<from uri="jms-generic:queue:fssobsGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:fssobsGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="fssObsGenerator" method="generate" />
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<bean id="ldadmesonetDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="ldadmesonet" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadmesonet?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.ldadmesonet"/>
|
||||
</bean>
|
||||
|
||||
<bean id="ldadmesonetPointData" class="com.raytheon.uf.common.dataplugin.ldadmesonet.LdadmesonetPointDataTransform"/>
|
||||
|
@ -30,7 +30,7 @@
|
|||
errorHandlerRef="errorHandler"
|
||||
autoStartup="false">
|
||||
<route id="ldadmesonetIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.ldadmesonet?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.ldadmesonet"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<!-- Begin loctables routes -->
|
||||
<route id="loctablesIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.loctables?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.loctables"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>loctables</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>lsr</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.lsr" />
|
||||
<to uri="jms-durable:queue:Ingest.lsr" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin lclstrmrpt routes -->
|
||||
<route id="lclstrmrptIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.lsr?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.lsr"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>lsr</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
<!-- Non clustered, specifically used by handleOUP.py to push published files directly into stream -->
|
||||
<!-- This route does not delete the file passed! If delete is needed, create a new route and use moveFileToArchive -->
|
||||
<route id="manualFilePush">
|
||||
<from uri="jms-generic:queue:Ingest.manual?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.manual"/>
|
||||
<doTry>
|
||||
<bean ref="stringToFile"/>
|
||||
<bean ref="manualProc" />
|
||||
<to uri="jms-generic:queue:external.dropbox?destinationResolver=#qpidDurableResolver" />
|
||||
<to uri="jms-durable:queue:external.dropbox"/>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
<to uri="log-showbody:manual?level=ERROR" />
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<from ref="manualFileEndpoint" />
|
||||
<bean ref="manualProc" method="copyFileToArchive"/>
|
||||
<bean ref="manualProc" />
|
||||
<to uri="jms-generic:queue:external.dropbox?destinationResolver=#qpidDurableResolver" />
|
||||
<to uri="jms-durable:queue:external.dropbox"/>
|
||||
</route>
|
||||
|
||||
<route id="ndmFileScan">
|
||||
|
|
|
@ -49,13 +49,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>mesowest</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.Mesowest" />
|
||||
<to uri="jms-durable:queue:Ingest.Mesowest" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin MESOWest routes -->
|
||||
<route id="mesowestIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.Mesowest?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.Mesowest"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<!-- Begin crimss routes -->
|
||||
<route id="crimssIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.crimss?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.crimss"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>crimss</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
<!-- Begin nucaps routes -->
|
||||
<route id="nucapsIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.nucaps?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.nucaps"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>nucaps</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -8,11 +8,8 @@
|
|||
<property name="maxPoolSize" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="jmsIngestVIIRSConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
|
||||
<bean id="jms-viirs" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestVIIRSConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="viirsThreadPool" />
|
||||
</bean>
|
||||
|
||||
|
@ -42,7 +39,7 @@
|
|||
|
||||
<!-- Begin VIIRS routes -->
|
||||
<route id="viirsIngestRoute">
|
||||
<from uri="jms-viirs:queue:Ingest.VIIRS?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-viirs:queue:Ingest.VIIRS"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<camelContext id="preciprate-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="PrecipRateGenerate">
|
||||
<from uri="jms-generic:queue:preciprateGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:preciprateGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="preciprateGenerator" method="generate" />
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<camelContext id="qpf-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="QPFGenerate">
|
||||
<from uri="jms-generic:queue:qpfGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:qpfGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="qpfGenerator" method="generate" />
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean id="jms-satellite-mcidas" class="org.apache.camel.component.jms.JmsComponent">
|
||||
<constructor-arg ref="jmsIngestSatelliteMcidasConfig" />
|
||||
<constructor-arg ref="jmsDurableConfig" />
|
||||
<property name="taskExecutor" ref="satelliteMcidasThreadPool" />
|
||||
</bean>
|
||||
<bean id="jmsIngestSatelliteMcidasConfig" class="org.apache.camel.component.jms.JmsConfiguration"
|
||||
factory-bean="jmsConfig" factory-method="copy" />
|
||||
<bean id="satelliteMcidasThreadPool"
|
||||
class="com.raytheon.uf.edex.esb.camel.spring.JmsThreadPoolTaskExecutor">
|
||||
<property name="corePoolSize" value="1" />
|
||||
|
@ -36,7 +34,7 @@
|
|||
|
||||
<!-- Begin McIDAS Sat routes -->
|
||||
<route id="satMcidasIngestRoute">
|
||||
<from uri="jms-satellite-mcidas:queue:Ingest.Satellite.Mcidas?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-satellite-mcidas:queue:Ingest.Satellite.Mcidas" />
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>satellite-mcidas</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
xmlns="http://camel.apache.org/schema/spring"
|
||||
errorHandlerRef="errorHandler">
|
||||
<route id="scanCpgSrvListenerRoute">
|
||||
<from uri="jms-generic:queue:scanCpgsrvFiltering"/>
|
||||
<from uri="jms-durable:queue:scanCpgsrvFiltering"/>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="svrwxIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.svrwx?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.svrwx"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>svrwx</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="tcgDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="tcgPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.tcg?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.tcg"/>
|
||||
</bean>
|
||||
|
||||
<bean id="tcgCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -24,7 +24,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="tcgIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.tcg?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.tcg"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>tcg</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
autoStartup="false">
|
||||
|
||||
<route id="tcsIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.tcs?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.tcs"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>tcs</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<bean id="vaaDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="vaaPluginName" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.vaa?destinationResolver=#qpidDurableResolver" />
|
||||
<constructor-arg value="jms-dist:queue:Ingest.vaa"/>
|
||||
</bean>
|
||||
|
||||
<bean id="vaaCamelRegistered" factory-bean="contextManager"
|
||||
|
@ -31,13 +31,13 @@
|
|||
<setHeader headerName="pluginName">
|
||||
<constant>vaa</constant>
|
||||
</setHeader>
|
||||
<to uri="jms-generic:queue:Ingest.vaa" />
|
||||
<to uri="jms-durable:queue:Ingest.vaa" />
|
||||
</route>
|
||||
-->
|
||||
|
||||
<!-- Begin vaa routes -->
|
||||
<route id="vaaIngestRoute">
|
||||
<from uri="jms-generic:queue:Ingest.vaa?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:Ingest.vaa"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>vaa</constant>
|
||||
</setHeader>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<camelContext id="vil-camel" xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="errorHandler">
|
||||
<route id="VILGenerate">
|
||||
<from uri="jms-generic:queue:vilGenerate?destinationResolver=#qpidDurableResolver" />
|
||||
<from uri="jms-durable:queue:vilGenerate"/>
|
||||
<doTry>
|
||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||
<bean ref="vilGenerator" method="generate" />
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<bean id="userAuthenticationDataChangedHandler"
|
||||
class="com.raytheon.uf.edex.useradmin.services.UserAuthenticationDataChangedHandler">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="jms-generic:topic:user.authentication.changed?timeToLive=60000&destinationResolver=#qpidDurableResolver" />
|
||||
value="jms-generic:topic:user.authentication.changed?timeToLive=60000"/>
|
||||
</bean>
|
||||
|
||||
<bean factory-bean="handlerRegistry" factory-method="register">
|
||||
|
|
|
@ -64,6 +64,7 @@ import com.raytheon.wes2bridge.common.configuration.Wes2BridgeConfiguration;
|
|||
* Jan 18, 2012 1490 bkowal Pypies is now added to each
|
||||
* edex-environment instance
|
||||
* Apr 18, 2013 1899 bkowal Updates qpid 0.18 configuration now.
|
||||
* July 2, 2013 2133 bkowal Updates for yajsw-wrapped qpid
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -440,23 +441,11 @@ public class Wes2BridgeManager {
|
|||
BufferedWriter bw = this.getBufferedWriter(qpidd);
|
||||
|
||||
final String line1 = "QPID_HOME=";
|
||||
/*
|
||||
* Need to update the 'ps' command that determines if qpid is running or
|
||||
* not.
|
||||
*/
|
||||
final String line2 = "isRunning=`ps -ef | grep org.apache.qpid.server.Main | grep -c \"PNAME=QPBRKR \"`";
|
||||
|
||||
String line = StringUtils.EMPTY;
|
||||
while ((line = br.readLine()) != null) {
|
||||
if (line.startsWith(line1)) {
|
||||
line = line1 + qpidDirectory;
|
||||
} else if (line.contains(line2)) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder
|
||||
.append("isRunning=`ps -ef | grep org.apache.qpid.server.Main | grep QPID_HOME=");
|
||||
stringBuilder.append(qpidDirectory);
|
||||
stringBuilder.append("| grep -c \"PNAME=QPBRKR \"`");
|
||||
line = stringBuilder.toString();
|
||||
}
|
||||
|
||||
bw.write(line + "\n");
|
||||
|
|
89
javaUtilities/yajsw/deploy.xml
Normal file
89
javaUtilities/yajsw/deploy.xml
Normal file
|
@ -0,0 +1,89 @@
|
|||
<project default="main" basedir=".">
|
||||
<!--
|
||||
determine where the various destination directories are
|
||||
without ant-contrib
|
||||
-->
|
||||
<!-- the EDEX destination -->
|
||||
<available file="${basedir}/../build.edex"
|
||||
property="edex.destination"
|
||||
value="${basedir}/../build.edex" />
|
||||
<available file="${basedir}/../../edexOsgi/build.edex"
|
||||
property="edex.destination"
|
||||
value="${basedir}/../../edexOsgi/build.edex" />
|
||||
|
||||
<!-- the QPID destination -->
|
||||
<available file="${basedir}/../rpms/awips2.qpid/0.18"
|
||||
property="qpid.destination"
|
||||
value="${basedir}/../rpms/awips2.qpid/0.18" />
|
||||
<available file="${basedir}/../../rpms/awips2.qpid/0.18"
|
||||
property="qpid.destination"
|
||||
value="${basedir}/../../rpms/awips2.qpid/0.18" />
|
||||
|
||||
<!-- yajsw gradle directories -->
|
||||
<property name="gradle.script"
|
||||
value="gradlew.sh" />
|
||||
|
||||
<property name="build.libs.directory"
|
||||
value="build/libs" />
|
||||
|
||||
<property name="build.gradle.directory"
|
||||
value="${basedir}/build/gradle" />
|
||||
|
||||
<property name="gradle.libs.directory"
|
||||
value="${basedir}/lib" />
|
||||
|
||||
<property name="wrapperApp.artifact"
|
||||
value="${build.gradle.directory}/wrapper-app/${build.libs.directory}/wrapperApp.jar" />
|
||||
<property name="wrapper.artifact"
|
||||
value="${build.gradle.directory}/wrapper/${build.libs.directory}/wrapper.jar" />
|
||||
|
||||
<property name="edex.bin.directory"
|
||||
value="${edex.destination}/esb/bin" />
|
||||
<property name="edex.yajsw.directory"
|
||||
value="${edex.bin.directory}/yajsw" />
|
||||
|
||||
<!-- end of properties -->
|
||||
|
||||
<target name="main">
|
||||
<antcall target="build" />
|
||||
<antcall target="deploy" />
|
||||
<antcall target="clean" />
|
||||
</target>
|
||||
|
||||
<target name="build">
|
||||
<exec executable="/bin/bash" dir="${build.gradle.directory}">
|
||||
<arg value="${build.gradle.directory}/${gradle.script}" />
|
||||
<arg value="build" />
|
||||
</exec>
|
||||
|
||||
<echo message="${wrapper.artifact}" />
|
||||
</target>
|
||||
|
||||
<target name="deploy">
|
||||
<!-- deploy to EDEX -->
|
||||
<copy todir="${edex.yajsw.directory}"
|
||||
verbose="true" overwrite="true">
|
||||
<fileset file="${wrapper.artifact}" />
|
||||
<fileset file="${wrapperApp.artifact}" />
|
||||
</copy>
|
||||
<copy todir="${edex.yajsw.directory}/lib"
|
||||
verbose="true" overwrite="true">
|
||||
<fileset dir="${gradle.libs.directory}">
|
||||
<include name="core/**" />
|
||||
<exclude name="**/ReadMe.txt" />
|
||||
</fileset>
|
||||
</copy>
|
||||
<!-- deploy to QPID -->
|
||||
<tar destfile="${qpid.destination}/SOURCES/yajsw-distribution.tar"
|
||||
basedir="${edex.bin.directory}"
|
||||
includes="yajsw/**">
|
||||
</tar>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<exec executable="/bin/bash" dir="${build.gradle.directory}">
|
||||
<arg value="${build.gradle.directory}/${gradle.script}" />
|
||||
<arg value="clean" />
|
||||
</exec>
|
||||
</target>
|
||||
</project>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue