java


AbstractRoutingDataSource :- Importance of Thread Bound Transaction Context for lookup key


I am implementing AbstractRoutingDataSource in our project. From what i read
AbstractRoutingDataSource is an abstract data source implementation
that routes getConnection() calls to one of various target DataSources
based on a lookup key. The latter is usually (but not necessarily)
determined through some thread-bound transaction context.
What I am wondering is ,what is the advantage of using a thread bound transaction context to determine the lookup key? When is it ideal to use such a method. Any help would be highly appreciated. Thanks in advance :)
Briefly, Bound Threads can change the attributes of the underlying lightweight process. and Lightweight processes are not cached when the bound threads exit.
In Scheduling Context; Bound threads for System Scope and Unbound threads are Process Scope. [Docs Oracle, 2010]
System Scope: compete for CPU with other system threads (such as Kernel Threads).
Process Scope: compete for the CPU within the current process.

Related Links

TestFX 4 Selecting a value from ChoiceBox / Menu
Exception type java.lang.reflect.InvocationTargetException and javax.persistence.RollbackException
Assigning all values to array on the whole [duplicate]
currentViewportWorldCentre not resolved
Java - A method that takes vararg and returns arraylist?
Gradle: Error version conflict
Compilation error Multiple version of JAVA
ActionBar section text
Hibernate mapping “class” must match
Why am I getting Bad Request kind error when uploading file using jquery with spring mvc?
Flash not being turned off on button press(Flashlight App)
Extract files from signed APK - Android Studio Key
List<List<Object>> to String[][]. Is there any method?
apache mina sshd authenticate client signatures
DataSource connection call after initialization
How to send a 2D array through a socket to a server in Java

Categories

HOME
compiler-construction
debugging
platform-builder
spring-jdbc
jsrender
packages
opengl-es-2.0
pheatmap
webrequest
synchronization
midi
dax
numeral.js
timeout
hex-editors
fortumo
quartz-scheduler
serilog
ab-testing
nodatime
kryo
xlsxwriter
ehcache
csrf-protection
pepper
underflow
status
spring-mybatis
xacml
log4js-node
facebook-apps
libuv
procdump
newline
bpel
unboundid
nouislider
skia
karaf
fog
code-contracts
calibre
mapbox-gl
mmenu
hexo
bytecode-manipulation
xcode-extension
x11-forwarding
sharefile
theano.scan
lumberjack
graphenedb
particles.js
reportingservices-2005
ibpy
galleria
angular-resource
jsch
revapi
pubmed
python-webbrowser
git-diff
nstextview
feeds
or-tools
grails-tomcat-plugin
azure-virtual-network
file-writing
intrusion-detection
merge-conflict-resolution
sigabrt
reactive-banana
marching-cubes
cannon.js
quicklisp
coveralls
tarjans-algorithm
dukescript
c++03
block-device
markers
websocket4net
starcluster
undefined-reference
concurrent-collections
mcts
gnu-smalltalk
gridfs
blending
soundtouch
opcache
orchardcms-1.7
type-equivalence
angularjs-controller
libstdc++
ocx
eclipse-templates
gnu-prolog
qt-jambi
hirefire
coredump
xtype
rfc1123
iphone-web-app
digest-authentication
revisions
firefox4
adrotator

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App