You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by bo...@apache.org on 2006/10/26 23:40:04 UTC
svn commit: r468147 -
/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
Author: boisvert
Date: Thu Oct 26 14:40:02 2006
New Revision: 468147
URL: http://svn.apache.org/viewvc?view=rev&rev=468147
Log:
Calendar is expensive to initialize so we cache and clone it
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java?view=diff&rev=468147&r1=468146&r2=468147
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java Thu Oct 26 14:40:02 2006
@@ -67,6 +67,7 @@
protected BpelEngineImpl _engine;
protected BpelServerImpl _server;
protected BpelDatabase _db;
+ protected Calendar _calendar = Calendar.getInstance(); // Calendar is expensive to initialize so we cache and clone it
public ProcessAndInstanceManagementImpl(BpelDatabase db, BpelEngineImpl engine, BpelServerImpl server) {
_db = db;
@@ -744,8 +745,8 @@
ProcessInstanceDAO.EventsFirstLastCountTuple flc = instance.getEventsFirstLastCount();
TInstanceInfo.EventInfo eventInfo = info.addNewEventInfo();
- Calendar first = Calendar.getInstance();
- Calendar last = Calendar.getInstance();
+ Calendar first = (Calendar) _calendar.clone();
+ Calendar last = (Calendar) _calendar.clone();
// Setting valued correlation properties
if (!instance.getCorrelationSets().isEmpty()) {
@@ -769,7 +770,7 @@
if (instance.getActivityFailureCount() > 0) {
TInstanceInfo.Failures failures = info.addNewFailures();
- Calendar failureDt = Calendar.getInstance();
+ Calendar failureDt = (Calendar) _calendar.clone();
failureDt.setTime(instance.getActivityFailureDateTime());
failures.setCount(instance.getActivityFailureCount());
failures.setDtFailure(failureDt);
@@ -822,7 +823,7 @@
if (String.valueOf(recovery.getActivityId()).equals(ai.getActivityInfo().getAiid())) {
TActivityInfo.Failure failure = ai.getActivityInfo().addNewFailure();
failure.setReason(recovery.getReason());
- Calendar cal = Calendar.getInstance();
+ Calendar cal = (Calendar) _calendar.clone();
cal.setTime(recovery.getDateTime());
failure.setDtFailure(cal);
failure.setActions(recovery.getActions());
@@ -874,7 +875,7 @@
info.setName(BpelEvent.eventName(event));
info.setType(event.getType().toString());
info.setLineNumber(event.getLineNo());
- Calendar c = Calendar.getInstance();
+ Calendar c = (Calendar) _calendar.clone();
c.setTime(event.getTimestamp());
info.setTimestamp(c);
if (event instanceof ActivityEvent) {
@@ -961,11 +962,11 @@
* @param dtime a {@link Date}
* @return a {@link Calendar}
*/
- private static Calendar toCalendar(Date dtime) {
+ private Calendar toCalendar(Date dtime) {
if (dtime == null)
return null;
- Calendar c = Calendar.getInstance();
+ Calendar c = (Calendar) _calendar.clone();
c.setTime(dtime);
return c;
}