annotate flys-backend/src/main/java/de/intevation/seddb/model/Stationgew.java @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents 2ae732e2c65c
children 18619c1e7c2a
rev   line source
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.seddb.model;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // Generated 14.06.2012 11:30:57 by Hibernate Tools 3.4.0.CR1
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 import javax.persistence.AttributeOverride;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 import javax.persistence.AttributeOverrides;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 import javax.persistence.Column;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 import javax.persistence.EmbeddedId;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 import javax.persistence.Entity;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 import javax.persistence.Table;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 /**
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 * Stationgew generated by hbm2java
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 */
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 @Entity
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 @Table(name="STATIONGEW"
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 ,schema="SEDDB"
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 )
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 public class Stationgew implements java.io.Serializable {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 private StationgewId id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 public Stationgew() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 public Stationgew(StationgewId id) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 this.id = id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
30
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 @EmbeddedId
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
33
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 @AttributeOverrides( {
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
35 @AttributeOverride(name="stationid", column=@Column(name="STATIONID", nullable=false, precision=11, scale=0) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
36 @AttributeOverride(name="gewaesserid", column=@Column(name="GEWAESSERID", nullable=false, precision=11, scale=0) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
37 @AttributeOverride(name="km", column=@Column(name="KM", nullable=false, precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
38 @AttributeOverride(name="bezugspegelid", column=@Column(name="BEZUGSPEGELID", precision=11, scale=0) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
39 @AttributeOverride(name="name", column=@Column(name="NAME", nullable=false, length=50) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
40 @AttributeOverride(name="uferistlinks", column=@Column(name="UFERISTLINKS", nullable=false, precision=1, scale=0) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
41 @AttributeOverride(name="teilVon", column=@Column(name="TEIL_VON", precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
42 @AttributeOverride(name="teilBis", column=@Column(name="TEIL_BIS", precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
43 @AttributeOverride(name="abstHmst", column=@Column(name="ABST_HMST", precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
44 @AttributeOverride(name="LHochwert", column=@Column(name="L_HOCHWERT", precision=11, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
45 @AttributeOverride(name="LRechwert", column=@Column(name="L_RECHWERT", precision=11, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
46 @AttributeOverride(name="LNn", column=@Column(name="L_NN", precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
47 @AttributeOverride(name="RHochwert", column=@Column(name="R_HOCHWERT", precision=11, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
48 @AttributeOverride(name="RRechwert", column=@Column(name="R_RECHWERT", precision=11, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
49 @AttributeOverride(name="RNn", column=@Column(name="R_NN", precision=8, scale=3) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
50 @AttributeOverride(name="bemerkung", column=@Column(name="BEMERKUNG", length=240) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
51 @AttributeOverride(name="oldmstid", column=@Column(name="OLDMSTID", precision=11, scale=0) ),
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
52 @AttributeOverride(name="istfeststoff", column=@Column(name="ISTFESTSTOFF", nullable=false, precision=1, scale=0) ),
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 @AttributeOverride(name="gewname", column=@Column(name="GEWNAME", nullable=false, length=20) ) } )
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 public StationgewId getId() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 return this.id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
57
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 public void setId(StationgewId id) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 this.id = id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 }

http://dive4elements.wald.intevation.org