Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/seddb/model/MpeilpunktId.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 * MpeilpunktId 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 MpeilpunktId 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 mpeilungid; |
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 MpeilpunktId() { |
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 MpeilpunktId(long mpeilungid, int punktnr) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 this.mpeilungid = mpeilungid; |
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="MPEILUNGID", 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 getMpeilungid() { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 return this.mpeilungid; |
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 setMpeilungid(long mpeilungid) { |
aa8ed778c8cc
Added Hibernate access class to SedDB
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 this.mpeilungid = mpeilungid; |
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 MpeilpunktId) ) return false; |
3334
2ae732e2c65c
FLYS backend: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3332
diff
changeset
|
52 MpeilpunktId castOther = ( MpeilpunktId ) 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.getMpeilungid()==castOther.getMpeilungid()) |
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.getMpeilungid(); |
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 } |