Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/seddb/model/HpeilpunktId.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.Column; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 import javax.persistence.Embeddable; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 /** |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 * HpeilpunktId generated by hbm2java |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 */ |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 @Embeddable |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 public class HpeilpunktId implements java.io.Serializable { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 |
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 private long hpeilungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 private int punktnr; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 public HpeilpunktId() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 } |
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 public HpeilpunktId(long hpeilungid, int punktnr) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 this.hpeilungid = hpeilungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 this.punktnr = punktnr; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
25 |
3332
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 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 @Column(name="HPEILUNGID", nullable=false, precision=11, scale=0) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 public long getHpeilungid() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 return this.hpeilungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
32 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 public void setHpeilungid(long hpeilungid) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 this.hpeilungid = hpeilungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 } |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 @Column(name="PUNKTNR", nullable=false, precision=5, scale=0) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 public int getPunktnr() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 return this.punktnr; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
42 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 public void setPunktnr(int punktnr) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 this.punktnr = punktnr; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 } |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 public boolean equals(Object other) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 if ( (this == other ) ) return true; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 if ( (other == null ) ) return false; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 if ( !(other instanceof HpeilpunktId) ) return false; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
52 HpeilpunktId castOther = ( HpeilpunktId ) other; |
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
53 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 return (this.getHpeilungid()==castOther.getHpeilungid()) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 && (this.getPunktnr()==castOther.getPunktnr()); |
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 int hashCode() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
59 int result = 17; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
60 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 result = 37 * result + (int) this.getHpeilungid(); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 result = 37 * result + this.getPunktnr(); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 return result; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
64 } |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 } |