Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/seddb/model/MessunguferbezugId.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 java.math.BigDecimal; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 import javax.persistence.Column; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 import javax.persistence.Embeddable; |
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 /** |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 * MessunguferbezugId generated by hbm2java |
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 @Embeddable |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 public class MessunguferbezugId implements java.io.Serializable { |
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 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 private long messungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 private boolean uferistlinks; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 private BigDecimal hmabst; |
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 public MessunguferbezugId() { |
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 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 public MessunguferbezugId(long messungid, boolean uferistlinks) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 this.messungid = messungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 this.uferistlinks = uferistlinks; |
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 MessunguferbezugId(long messungid, boolean uferistlinks, BigDecimal hmabst) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 this.messungid = messungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 this.uferistlinks = uferistlinks; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 this.hmabst = hmabst; |
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 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 @Column(name="MESSUNGID", nullable=false, precision=11, scale=0) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 public long getMessungid() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 return this.messungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
39 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 public void setMessungid(long messungid) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 this.messungid = messungid; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 } |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 |
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 @Column(name="UFERISTLINKS", nullable=false, precision=1, scale=0) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 public boolean isUferistlinks() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 return this.uferistlinks; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
49 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 public void setUferistlinks(boolean uferistlinks) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 this.uferistlinks = uferistlinks; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 } |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 @Column(name="HMABST", precision=8, scale=3) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 public BigDecimal getHmabst() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 return this.hmabst; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
58 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
59 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 public void setHmabst(BigDecimal hmabst) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 this.hmabst = hmabst; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 } |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 public boolean equals(Object other) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
66 if ( (this == other ) ) return true; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
67 if ( (other == null ) ) return false; |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
68 if ( !(other instanceof MessunguferbezugId) ) return false; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
69 MessunguferbezugId castOther = ( MessunguferbezugId ) other; |
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
70 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 return (this.getMessungid()==castOther.getMessungid()) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 && (this.isUferistlinks()==castOther.isUferistlinks()) |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 && ( (this.getHmabst()==castOther.getHmabst()) || ( this.getHmabst()!=null && castOther.getHmabst()!=null && this.getHmabst().equals(castOther.getHmabst()) ) ); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
74 } |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
75 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
76 public int hashCode() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
77 int result = 17; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
78 |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 result = 37 * result + (int) this.getMessungid(); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 result = 37 * result + (this.isUferistlinks()?1:0); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 result = 37 * result + ( getHmabst() == null ? 0 : this.getHmabst().hashCode() ); |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
82 return result; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
83 } |
3332
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
84 } |