瀏覽代碼

Reorganized the context files so that the persistence layer can be selected as either Hibernate or in-memory, and the messagning layer either JMS-based or thread-based.

peter_backlund 18 年之前
父節點
當前提交
96b63c3356

dddsample/src/test/java/se/citerus/dddsample/domain/SampleLocations.java → dddsample/src/main/java/se/citerus/dddsample/domain/SampleLocations.java 查看文件


+ 14
- 20
dddsample/src/main/java/se/citerus/dddsample/repository/CargoRepositoryInMem.java 查看文件

@@ -2,13 +2,12 @@ package se.citerus.dddsample.repository;
2 2
 
3 3
 import org.springframework.dao.DataRetrievalFailureException;
4 4
 import se.citerus.dddsample.domain.Cargo;
5
+import se.citerus.dddsample.domain.DeliveryHistory;
5 6
 import se.citerus.dddsample.domain.Itinerary;
7
+import static se.citerus.dddsample.domain.SampleLocations.*;
6 8
 import se.citerus.dddsample.domain.TrackingId;
7 9
 
8
-import java.util.HashMap;
9
-import java.util.List;
10
-import java.util.Map;
11
-import java.util.UUID;
10
+import java.util.*;
12 11
 
13 12
 /**
14 13
  * CargoRepositoryInMem implement the CargoRepository interface but is a test
@@ -44,45 +43,40 @@ public class CargoRepositoryInMem implements CargoRepository {
44 43
   }
45 44
 
46 45
   public TrackingId nextTrackingId() {
47
-    return new TrackingId(UUID.randomUUID().toString());
46
+    String random = UUID.randomUUID().toString().toUpperCase();
47
+    return new TrackingId(
48
+      random.substring(0, random.indexOf("-"))
49
+    );
48 50
   }
49 51
 
50 52
   public void deleteItinerary(Itinerary itinerary) {
51 53
   }
52 54
 
53 55
   public List<Cargo> findAll() {
54
-    return null;  //To change body of implemented methods use File | Settings | File Templates.
56
+    return new ArrayList(cargoDb.values());
55 57
   }
56 58
 
57
-  /**
58
-   * @throws Exception
59
-   */
60 59
   public void init() throws Exception {
61
-/*
62 60
     String trackIdXYZ = "XYZ";
63
-    final Cargo cargoXYZ = new Cargo(new TrackingId(trackIdXYZ), new Location("SESTO"), new Location("AUMEL"));
61
+    final Cargo cargoXYZ = new Cargo(new TrackingId(trackIdXYZ), STOCKHOLM, MELBOURNE);
64 62
     cargoDb.put(trackIdXYZ, cargoXYZ);
65 63
     
66 64
     String trackIdZYX = "ZYX";
67
-    final Cargo cargoZYX = new Cargo(new TrackingId(trackIdZYX), new Location("AUMEL"), new Location("SESTO"));
65
+    final Cargo cargoZYX = new Cargo(new TrackingId(trackIdZYX), MELBOURNE, STOCKHOLM);
68 66
     cargoDb.put(trackIdZYX, cargoZYX);
69 67
     
70 68
     String trackIdABC = "ABC";
71
-    final Cargo cargoABC = new Cargo(new TrackingId(trackIdABC), new Location("SESTO"), new Location("FIHEL"));
69
+    final Cargo cargoABC = new Cargo(new TrackingId(trackIdABC), STOCKHOLM, HELSINKI);
72 70
     cargoDb.put(trackIdABC, cargoABC);
73 71
     
74 72
     String trackIdCBA = "CBA";
75
-    final Cargo cargoCBA = new Cargo(new TrackingId(trackIdCBA), new Location("FIHEL"), new Location("SESTO"));
73
+    final Cargo cargoCBA = new Cargo(new TrackingId(trackIdCBA), HELSINKI, STOCKHOLM);
76 74
     cargoDb.put(trackIdCBA, cargoCBA);
77
-*/
78 75
 
79
-    /*
80 76
     for (Cargo cargo : cargoDb.values()) {
81
-      for (HandlingEvent event : handlingEventRepository.findByTrackingId(cargo.trackingId())) {
82
-        cargo.handle(event);
83
-      }   
77
+      DeliveryHistory dh = new DeliveryHistory(handlingEventRepository.findEventsForCargo(cargo.trackingId()));
78
+      cargo.setDeliveryHistory(dh);
84 79
     }
85
-    */
86 80
   }
87 81
 
88 82
   public void setHandlingEventRepository(final HandlingEventRepository handlingEventRepository) {

+ 8
- 13
dddsample/src/main/java/se/citerus/dddsample/repository/CarrierMovementRepositoryInMem.java 查看文件

@@ -2,6 +2,7 @@ package se.citerus.dddsample.repository;
2 2
 
3 3
 import se.citerus.dddsample.domain.CarrierMovement;
4 4
 import se.citerus.dddsample.domain.CarrierMovementId;
5
+import static se.citerus.dddsample.domain.SampleLocations.*;
5 6
 
6 7
 import java.util.HashMap;
7 8
 import java.util.Map;
@@ -10,33 +11,27 @@ public final class CarrierMovementRepositoryInMem implements CarrierMovementRepo
10 11
 
11 12
   private Map<CarrierMovementId, CarrierMovement> carriers;
12 13
 
13
-  /**
14
-   * Constructor.
15
-   */
16 14
   public CarrierMovementRepositoryInMem() {
17 15
     carriers = new HashMap<CarrierMovementId, CarrierMovement>();
18
-    setup();
19 16
   }
20 17
 
21 18
   private void setup() {
22
-/*
23 19
     final CarrierMovement stockholmToHamburg = new CarrierMovement(
24
-            new CarrierMovementId("CAR_001"), new Location("SESTO"), new Location("DEHAM"));
20
+            new CarrierMovementId("CAR_001"), STOCKHOLM, HAMBURG);
25 21
     final CarrierMovement hamburgToHongKong = new CarrierMovement(
26
-            new CarrierMovementId("CAR_002"), new Location("DEHAM"), new Location("CNHKG"));
22
+            new CarrierMovementId("CAR_002"), HAMBURG, HONGKONG);
27 23
     final CarrierMovement melbourneToTokyo = new CarrierMovement(
28
-            new CarrierMovementId("CAR_003"), new Location("AUMEL"), new Location("JPTOK"));
29
-    final CarrierMovement tokyoToLosAngeles = new CarrierMovement(
30
-            new CarrierMovementId("CAR_004"), new Location("JPTOK"), new Location("USLA"));
24
+            new CarrierMovementId("CAR_003"), MELBOURNE, TOKYO);
25
+    final CarrierMovement tokyoToChicago = new CarrierMovement(
26
+            new CarrierMovementId("CAR_004"), TOKYO, CHICAGO);
31 27
     final CarrierMovement stockholmToHelsinki = new CarrierMovement(
32
-            new CarrierMovementId("CAR_005"), new Location("SESTO"), new Location("FIHEL"));
28
+            new CarrierMovementId("CAR_005"), STOCKHOLM, HELSINKI);
33 29
     
34 30
     carriers.put(new CarrierMovementId("SESTO_DEHAM"), stockholmToHamburg);
35 31
     carriers.put(new CarrierMovementId("DEHAM_CNHKG"), hamburgToHongKong);
36 32
     carriers.put(new CarrierMovementId("AUMEL_JPTOK"), melbourneToTokyo);
37
-    carriers.put(new CarrierMovementId("JPTOK_USLA"), tokyoToLosAngeles);
33
+    carriers.put(new CarrierMovementId("JPTOK_USCHI"), tokyoToChicago);
38 34
     carriers.put(new CarrierMovementId("SESTO_FIHEL"), stockholmToHelsinki);
39
-*/
40 35
   }
41 36
 
42 37
   public CarrierMovement find(final CarrierMovementId carrierMovementId) {

+ 19
- 50
dddsample/src/main/java/se/citerus/dddsample/repository/HandlingEventRepositoryInMem.java 查看文件

@@ -4,11 +4,15 @@ import org.apache.commons.logging.Log;
4 4
 import org.apache.commons.logging.LogFactory;
5 5
 import se.citerus.dddsample.domain.*;
6 6
 import se.citerus.dddsample.domain.HandlingEvent.Type;
7
+import static se.citerus.dddsample.domain.SampleLocations.*;
7 8
 
8 9
 import java.text.DateFormat;
9 10
 import java.text.ParseException;
10 11
 import java.text.SimpleDateFormat;
11
-import java.util.*;
12
+import java.util.ArrayList;
13
+import java.util.Date;
14
+import java.util.HashMap;
15
+import java.util.List;
12 16
 
13 17
 public class HandlingEventRepositoryInMem implements HandlingEventRepository {
14 18
   private final Log logger = LogFactory.getLog(getClass());
@@ -23,10 +27,8 @@ public class HandlingEventRepositoryInMem implements HandlingEventRepository {
23 27
    * @throws ParseException
24 28
    */
25 29
   public void init() throws ParseException {
26
-/*
27
-
28 30
     // CargoXYZ
29
-    final Cargo cargoXYZ = new Cargo(new TrackingId("XYZ"), new Location("SESTO"), new Location("AUMEL"));
31
+    final Cargo cargoXYZ = new Cargo(new TrackingId("XYZ"), STOCKHOLM, MELBOURNE);
30 32
     registerEvent(cargoXYZ, "2007-11-30", HandlingEvent.Type.RECEIVE, null);
31 33
 
32 34
     final CarrierMovement stockholmToHamburg = carrierMovementRepository.find(new CarrierMovementId("SESTO_DEHAM"));
@@ -38,7 +40,7 @@ public class HandlingEventRepositoryInMem implements HandlingEventRepository {
38 40
     registerEvent(cargoXYZ, "2007-12-05", HandlingEvent.Type.UNLOAD, hamburgToHongKong);
39 41
     
40 42
     //CargoZYX
41
-    final Cargo cargoZYX = new Cargo(new TrackingId("ZYX"), new Location("AUMEL"), new Location("SESTO"));
43
+    final Cargo cargoZYX = new Cargo(new TrackingId("ZYX"), MELBOURNE, STOCKHOLM);
42 44
     registerEvent(cargoZYX, "2007-12-09", HandlingEvent.Type.RECEIVE, null);
43 45
     
44 46
     final CarrierMovement melbourneToTokyo = carrierMovementRepository.find(new CarrierMovementId("AUMEL_JPTOK"));
@@ -49,25 +51,23 @@ public class HandlingEventRepositoryInMem implements HandlingEventRepository {
49 51
     registerEvent(cargoZYX, "2007-12-13", HandlingEvent.Type.LOAD, tokyoToLosAngeles);
50 52
  
51 53
     //CargoABC
52
-    final Cargo cargoABC = new Cargo(new TrackingId("ABC"), new Location("SESTO"), new Location("FIHEL"));
54
+    final Cargo cargoABC = new Cargo(new TrackingId("ABC"), STOCKHOLM, HELSINKI);
53 55
     registerEvent(cargoABC, "2008-01-01", HandlingEvent.Type.RECEIVE, null);
54 56
     
55 57
     final CarrierMovement stockholmToHelsinki = new CarrierMovement(
56
-            new CarrierMovementId("CAR_001"), new Location("SESTO"), new Location("FIHEL"));
58
+            new CarrierMovementId("CAR_001"), STOCKHOLM, HELSINKI);
57 59
 
58 60
     registerEvent(cargoABC, "2008-01-02", HandlingEvent.Type.LOAD, stockholmToHelsinki);
59 61
     registerEvent(cargoABC, "2008-01-03", HandlingEvent.Type.UNLOAD, stockholmToHelsinki);
60 62
     registerEvent(cargoABC, "2008-01-05", HandlingEvent.Type.CLAIM, null);
61 63
 
62 64
     //CargoCBA
63
-    final Cargo cargoCBA = new Cargo(new TrackingId("CBA"), new Location("FIHEL"), new Location("SESTO"));
65
+    final Cargo cargoCBA = new Cargo(new TrackingId("CBA"), HELSINKI, STOCKHOLM);
64 66
     registerEvent(cargoCBA, "2008-01-10", HandlingEvent.Type.RECEIVE, null);
65
-*/
66 67
   }
67 68
 
68 69
   private void registerEvent(Cargo cargo, String date, Type type, CarrierMovement carrierMovement) throws ParseException {
69 70
     HandlingEvent event = new HandlingEvent(cargo, getDate(date), new Date(), type, null, carrierMovement);
70
-    //cargo.handle(event);
71 71
     String id = cargo.trackingId() + "_" + type + "_" + date;
72 72
 
73 73
     logger.debug("Adding event " + id + "(" + event + ")");
@@ -75,6 +75,14 @@ public class HandlingEventRepositoryInMem implements HandlingEventRepository {
75 75
   }
76 76
 
77 77
 
78
+  public void save(HandlingEvent event) {
79
+    eventDB.put(event.cargo().trackingId().idString(), event);
80
+  }
81
+
82
+  public List<HandlingEvent> findEventsForCargo(TrackingId trackingId) {
83
+    return new ArrayList();
84
+  }
85
+
78 86
   /**
79 87
    * Parse an ISO 8601 (YYYY-MM-DD) String to Date
80 88
    *
@@ -87,47 +95,8 @@ public class HandlingEventRepositoryInMem implements HandlingEventRepository {
87 95
     return dateFormat.parse(isoFormat);
88 96
   }
89 97
 
90
-  public HandlingEvent find(final String handlingEventId) {
91
-    return eventDB.get(handlingEventId);
92
-  }
93
-
94
-  public void save(final HandlingEvent event) {
95
-    // Mimmick saving to database
96
-    /*
97
-    for (Cargo cargo : event.registerdCargos()) {
98
-      cargo.handle(event);
99
-    }
100
-    */
101
-  }
102
-
103
-  public List<HandlingEvent> findEventsForCargo(final TrackingId trackingId) {
104
-    return new ArrayList<HandlingEvent>(eventDB.values());
105
-  }
106
-
107
-  public DeliveryHistory findDeliveryHistory(final TrackingId trackingId) {
108
-    return null;  //To change body of implemented methods use File | Settings | File Templates.
109
-  }
110
-
111
-  @SuppressWarnings("unchecked")
112
-  public Set<HandlingEvent> findByTrackingId(final TrackingId trackingId) {
113
-    final Set<HandlingEvent> events = new HashSet<HandlingEvent>();
114
-    for (HandlingEvent event : eventDB.values()) {
115
-      /*
116
-      for (Cargo cargo : event.registerdCargos()) {
117
-        if (cargo.trackingId().equals(trackingId)) {
118
-          events.add(event);
119
-          break;
120
-        }
121
-      }
122
-        */
123
-    }
124
-
125
-    logger.debug("findByTrackingId " + trackingId + " finds " + events);
126
-
127
-    return events;
128
-  }
129
-
130 98
   public void setCarrierRepository(final CarrierMovementRepository carrierMovementRepository) {
131 99
     this.carrierMovementRepository = carrierMovementRepository;
132 100
   }
101
+
133 102
 }

+ 24
- 0
dddsample/src/main/java/se/citerus/dddsample/repository/LocationRepositoryInMem.java 查看文件

@@ -0,0 +1,24 @@
1
+package se.citerus.dddsample.repository;
2
+
3
+import se.citerus.dddsample.domain.Location;
4
+import se.citerus.dddsample.domain.SampleLocations;
5
+import se.citerus.dddsample.domain.UnLocode;
6
+
7
+import java.util.List;
8
+
9
+public class LocationRepositoryInMem implements LocationRepository {
10
+
11
+  public Location find(UnLocode unLocode) {
12
+    for (Location location : SampleLocations.ALL) {
13
+      if (location.unLocode().equals(unLocode)) {
14
+        return location;
15
+      }
16
+    }
17
+    return null;
18
+  }
19
+
20
+  public List<Location> findAll() {
21
+    return SampleLocations.ALL;
22
+  }
23
+  
24
+}

+ 27
- 0
dddsample/src/main/java/se/citerus/dddsample/service/InMemTransactionManager.java 查看文件

@@ -0,0 +1,27 @@
1
+package se.citerus.dddsample.service;
2
+
3
+import org.springframework.transaction.PlatformTransactionManager;
4
+import org.springframework.transaction.TransactionDefinition;
5
+import org.springframework.transaction.TransactionException;
6
+import org.springframework.transaction.TransactionStatus;
7
+import org.springframework.transaction.support.SimpleTransactionStatus;
8
+
9
+/**
10
+ * 
11
+ */
12
+public class InMemTransactionManager implements PlatformTransactionManager {
13
+
14
+  @Override
15
+  public TransactionStatus getTransaction(TransactionDefinition transactionDefinition) throws TransactionException {
16
+    return new SimpleTransactionStatus();
17
+  }
18
+
19
+  @Override
20
+  public void commit(TransactionStatus transactionStatus) throws TransactionException {
21
+  }
22
+
23
+  @Override
24
+  public void rollback(TransactionStatus transactionStatus) throws TransactionException {
25
+  }
26
+
27
+}

dddsample/src/main/resources/context-messaging.xml → dddsample/src/main/resources/context-messaging-jms.xml 查看文件

@@ -2,10 +2,10 @@
2 2
 
3 3
 <beans xmlns="http://www.springframework.org/schema/beans"
4 4
        xmlns:jms="http://www.springframework.org/schema/jms"
5
-       xmlns:amq="http://activemq.org/config/1.0"
5
+       xmlns:amq="http://activemq.apache.org/schema/core"
6 6
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7 7
        xsi:schemaLocation="
8
-        http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd
8
+        http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.1.0.xsd
9 9
         http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd
10 10
         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
11 11
 
@@ -33,4 +33,9 @@
33 33
     <property name="connectionFactory" ref="jmsConnectionFactory"/>
34 34
   </bean>
35 35
 
36
+  <bean id="eventService" class="se.citerus.dddsample.service.JmsEventServiceImpl">
37
+    <property name="jmsOperations" ref="jmsOperations"/>
38
+    <property name="destination" ref="handlingEventTopic"/>
39
+  </bean>
40
+  
36 41
 </beans>

+ 11
- 0
dddsample/src/main/resources/context-messaging-thread.xml 查看文件

@@ -0,0 +1,11 @@
1
+<?xml version="1.0"?>
2
+
3
+<beans xmlns="http://www.springframework.org/schema/beans"
4
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
6
+
7
+  <bean id="eventService" class="se.citerus.dddsample.service.ThreadBasedEventServiceImpl">
8
+    <property name="cargoService" ref="cargoService"/>
9
+  </bean>
10
+
11
+</beans>

dddsample/src/main/resources/context-persistence.xml → dddsample/src/main/resources/context-persistence-hibernate.xml 查看文件

@@ -9,10 +9,10 @@
9 9
   </bean>
10 10
 
11 11
   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
12
-    <property name="url" value="${jdbc.url}"/>
13
-    <property name="driverClassName" value="${jdbc.driverClassName}"/>
14
-    <property name="username" value="${jdbc.username}"/>
15
-    <property name="password" value="${jdbc.password}"/>
12
+    <property name="url" value="${hibernate.connection.url}"/>
13
+    <property name="driverClassName" value="${hibernate.connection.driver_class}"/>
14
+    <property name="username" value="${hibernate.connection.username}"/>
15
+    <property name="password" value="${hibernate.connection.password}"/>
16 16
     <property name="initialSize" value="4"/>
17 17
     <property name="defaultAutoCommit" value="false"/>
18 18
   </bean>
@@ -22,6 +22,10 @@
22 22
     <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
23 23
   </bean>
24 24
 
25
+  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
26
+    <property name="sessionFactory" ref="sessionFactory"/>
27
+  </bean>
28
+  
25 29
   <bean id="cargoRepository" class="se.citerus.dddsample.repository.CargoRepositoryHibernate">
26 30
     <property name="sessionFactory" ref="sessionFactory"/>
27 31
     <property name="handlingEventRepository" ref="handlingEventRepository"/>

+ 19
- 0
dddsample/src/main/resources/context-persistence-in-mem.xml 查看文件

@@ -0,0 +1,19 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+
3
+<beans xmlns="http://www.springframework.org/schema/beans"
4
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
6
+
7
+  <bean id="transactionManager" class="se.citerus.dddsample.service.InMemTransactionManager"/>
8
+
9
+  <bean id="cargoRepository" class="se.citerus.dddsample.repository.CargoRepositoryInMem" init-method="init">
10
+    <property name="handlingEventRepository" ref="handlingEventRepository"/>
11
+  </bean>
12
+
13
+  <bean id="handlingEventRepository" class="se.citerus.dddsample.repository.HandlingEventRepositoryInMem" init-method="init"/>
14
+
15
+  <bean id="carrierMovementRepository" class="se.citerus.dddsample.repository.CarrierMovementRepositoryInMem" init-method="setup"/>
16
+
17
+  <bean id="locationRepository" class="se.citerus.dddsample.repository.LocationRepositoryInMem"/>
18
+
19
+</beans>

+ 0
- 15
dddsample/src/main/resources/context-service.xml 查看文件

@@ -7,10 +7,6 @@
7 7
         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
8 8
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
9 9
 
10
-  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
11
-    <property name="sessionFactory" ref="sessionFactory"/>
12
-  </bean>
13
-
14 10
   <tx:annotation-driven transaction-manager="transactionManager"/>
15 11
 
16 12
   <bean id="cargoService" class="se.citerus.dddsample.service.CargoServiceImpl">
@@ -27,21 +23,10 @@
27 23
     <property name="eventService" ref="eventService"/>
28 24
   </bean>
29 25
 
30
-  <bean id="eventService" class="se.citerus.dddsample.service.JmsEventServiceImpl">
31
-    <property name="jmsOperations" ref="jmsOperations"/>
32
-    <property name="destination" ref="handlingEventTopic"/>
33
-  </bean>
34
-
35 26
   <bean id="routingService" class="se.citerus.dddsample.service.RoutingServiceImpl">
36 27
     <property name="locationRepository" ref="locationRepository"/>
37 28
     <property name="cargoRepository" ref="cargoRepository"/>
38 29
     <property name="carrierMovementRepository" ref="carrierMovementRepository"/>
39 30
   </bean>
40 31
 
41
-  <!--
42
-  <bean id="eventService" class="se.citerus.dddsample.service.ThreadBasedEventServiceImpl">
43
-    <property name="cargoService" ref="cargoService"/>
44
-  </bean>
45
-  -->
46
-
47 32
 </beans>

+ 4
- 4
dddsample/src/main/resources/jdbc.properties 查看文件

@@ -1,4 +1,4 @@
1
-jdbc.driverClassName=org.hsqldb.jdbcDriver
2
-jdbc.url=jdbc:hsqldb:mem:dddsample
3
-jdbc.username=sa
4
-jdbc.password=
1
+hibernate.connection.driver_class=org.hsqldb.jdbcDriver
2
+hibernate.connection.url=jdbc:hsqldb:mem:dddsample
3
+hibernate.connection.username=sa
4
+hibernate.connection.password=

+ 15
- 1
dddsample/src/main/webapp/WEB-INF/web.xml 查看文件

@@ -16,7 +16,21 @@
16 16
 
17 17
   <context-param>
18 18
     <param-name>contextConfigLocation</param-name>
19
-    <param-value>classpath:context-*.xml</param-value>
19
+    <param-value>
20
+      <!--
21
+      classpath:context-persistence-in-mem.xml
22
+      -->
23
+      classpath:context-persistence-hibernate.xml
24
+
25
+      <!--
26
+      classpath:context-messaging-thread.xml
27
+      -->
28
+      classpath:context-messaging-jms.xml
29
+
30
+      classpath:context-service.xml
31
+      classpath:context-remote.xml
32
+      classpath:context-web.xml
33
+    </param-value>
20 34
   </context-param>
21 35
 
22 36
   <servlet>

+ 1
- 1
dddsample/src/test/java/se/citerus/dddsample/repository/AbstractRepositoryTest.java 查看文件

@@ -35,7 +35,7 @@ public abstract class AbstractRepositoryTest extends AbstractTransactionalDataSo
35 35
 
36 36
   @Override
37 37
   protected String[] getConfigLocations() {
38
-    return new String[] {"context-persistence.xml"};
38
+    return new String[] {"context-persistence-hibernate.xml"};
39 39
   }
40 40
 
41 41
   @Override

+ 4
- 4
dddsample/src/test/resources/jdbc.properties 查看文件

@@ -1,4 +1,4 @@
1
-jdbc.driverClassName=org.hsqldb.jdbcDriver
2
-jdbc.url=jdbc:hsqldb:mem:dddsample_test
3
-jdbc.username=sa
4
-jdbc.password=
1
+hibernate.connection.driver_class=org.hsqldb.jdbcDriver
2
+hibernate.connection.url=jdbc:hsqldb:mem:dddsample_test
3
+hibernate.connection.username=sa
4
+hibernate.connection.password=