annotate flys-backend/src/main/java/de/intevation/seddb/model/Messunguferbezug.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 * Messunguferbezug 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="MESSUNGUFERBEZUG"
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 Messunguferbezug 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 MessunguferbezugId 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 Messunguferbezug() {
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 Messunguferbezug(MessunguferbezugId 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="messungid", column=@Column(name="MESSUNGID", 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="uferistlinks", column=@Column(name="UFERISTLINKS", nullable=false, precision=1, scale=0) ),
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 @AttributeOverride(name="hmabst", column=@Column(name="HMABST", precision=8, scale=3) ) } )
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 public MessunguferbezugId getId() {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 return this.id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 }
3334
2ae732e2c65c FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3332
diff changeset
41
3332
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 public void setId(MessunguferbezugId id) {
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 this.id = id;
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 }
aa8ed778c8cc Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 }

http://dive4elements.wald.intevation.org