13.5.1.1-3 baseline

Former-commit-id: 265a5590e8 [formerly a4bb855c1f] [formerly 1f4c8f317f] [formerly 06694a32ce [formerly 1f4c8f317f [formerly 5f5672a32c95941d8a75d55dc99859f1f9585167]]]
Former-commit-id: 06694a32ce
Former-commit-id: f13d7e2356ec3c932f6677d1ad5f0531e834f27c [formerly 62643f0d21]
Former-commit-id: d5b52526dd
This commit is contained in:
Steve Harris 2013-09-23 10:16:44 -04:00
parent 929b982f24
commit 2dd9ca8a3b
140 changed files with 1157 additions and 806 deletions

View file

@ -13,7 +13,7 @@
<dfltGeogArea>BasicWX_US</dfltGeogArea>
<resourceParameters>
pluginName=grid
GDFILE=FFG-TIR-HiRes
GDFILE=FFG-TIR
</resourceParameters>
<inventoryEnabled>true</inventoryEnabled>

View file

@ -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>

View file

@ -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">

View file

@ -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
@ -68,7 +70,7 @@ public class WarningSender implements IWarngenObserver {
private static final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(WarningSender.class);
private String hostName = null;
private final String hostName = null;
private boolean notifyError;
@ -103,7 +105,7 @@ public class WarningSender implements IWarngenObserver {
long t0 = System.currentTimeMillis();
String siteNode = SiteAbbreviationUtil.getSiteNode(LocalizationManager
.getInstance().getCurrentSite());
System.out.println("Get site node time: "
statusHandler.debug("Get site node time: "
+ (System.currentTimeMillis() - t0));
if (host == null) {
statusHandler.handle(Priority.ERROR,
@ -124,7 +126,7 @@ public class WarningSender implements IWarngenObserver {
t0 = System.currentTimeMillis();
byte[] data = SerializationUtil.transformToThrift(id + ":"
+ warning);
while (messageNotSent && connectCount < 4) {
while (messageNotSent && (connectCount < 4)) {
Session s = null;
MessageProducer mp = null;
Connection conn = null;
@ -139,11 +141,11 @@ public class WarningSender implements IWarngenObserver {
* MILLISECONDS_PER_SECOND);
BytesMessage m = s.createBytesMessage();
m.writeBytes(data);
m.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
mp.send(m);
long t1 = System.currentTimeMillis();
System.out.println(WarningSender.getCurTimeString() + ": "
+ id + " sent to text workstation in " + (t1 - t0)
+ "ms in " + (connectCount + 1)
statusHandler.debug(id + " sent to text workstation in "
+ (t1 - t0) + "ms in " + (connectCount + 1)
+ (connectCount > 0 ? " tries" : " try"));
messageNotSent = false;
} catch (JMSException e) {
@ -258,9 +260,8 @@ public class WarningSender implements IWarngenObserver {
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() {

View file

@ -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();
}
}

View file

@ -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.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;
}
}

View file

@ -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;

View file

@ -40,9 +40,20 @@
<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"/>
<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/"/>
<property name="queueNamePostfix" value="?durable='false'"/>
@ -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 -->

View file

@ -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"/>

View file

@ -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:
$name is a string "OUTPUT TEXT" of the road name
$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
$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

View file

@ -9,21 +9,51 @@
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>
-->

View file

@ -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>

View file

@ -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&amp;deliveryPersistent=false"/>
<to uri="jms-generic:topic:edex.alerts?timeToLive=60000"/>
</filter>
</route>
</camelContext>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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&amp;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" />

View file

@ -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&amp;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
@ -129,40 +127,6 @@
</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'&amp;connecttimeout='5000'&amp;connectdelay='5000''&amp;maxprefetch='0'&amp;sync_publish='all'&amp;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">
<constructor-arg ref="clusteredGfeIngestRoutes" />

View file

@ -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);

View file

@ -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) {

View file

@ -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);
}
}

View file

@ -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,16 +207,8 @@ 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);
}
}
return dbInventory;
} catch (PluginException e) {
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), 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);

View file

@ -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 "

View file

@ -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>

View file

@ -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&amp;idempotent=false" />
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}&amp;destinationResolver=#qpidDurableResolver" />
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}"/>
<route id="gribFileConsumerRoute">
<from ref="gribFileEndpoint" />

View file

@ -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&amp;idempotent=false" />
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}&amp;destinationResolver=#qpidDurableResolver" />
<endpoint id="gribJmsEndpoint" uri="ingest-grib:queue:Ingest.Grib?concurrentConsumers=${grib-decode.count.threads}"/>
<route id="gribFileConsumerRoute">
<from ref="gribFileEndpoint" />

View file

@ -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>

View file

@ -1084,16 +1084,6 @@
<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>
<center>9</center>
<subcenter>160</subcenter>
<grid>250160</grid>
<process>
<id>151</id>

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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&amp;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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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&amp;destinationResolver=#qpidDurableResolver"/>
<from uri="jms-durable:queue:cpgsrvFiltering?concurrentConsumers=5"/>
<doTry>
<pipeline>
<bean ref="serializationUtil" method="transformFromThrift" />

View file

@ -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" />

View file

@ -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>

View file

@ -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}&amp;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">

View file

@ -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

View file

@ -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&amp;maxConcurrentConsumers=5&amp;destinationResolver=#qpidDurableResolver" />
<from uri="jms-dist:queue:external.dropbox?concurrentConsumers=5&amp;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>

View file

@ -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>

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -54,7 +54,7 @@ import com.raytheon.uf.edex.ohd.MainMethod;
* 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

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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">

View file

@ -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" />

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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" />

View file

@ -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" />

View file

@ -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>

View file

@ -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" />

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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" />

View file

@ -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&amp;destinationResolver=#qpidDurableResolver" />
value="jms-generic:topic:user.authentication.changed?timeToLive=60000"/>
</bean>
<bean factory-bean="handlerRegistry" factory-method="register">

View file

@ -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");

View 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