[Lab] Making the Java SE Endpoint Publisher Multithreaded

The Java SE Endpoint Publisher supports end-point multithreading without much programmer work.

An Endpoint object has an Executor property defined with standard get/set methods.

An executor is an object that executes Runnable tasks such as java Thread instances. An executor is a nice alternative to thread instances, as the Executor provides high level constructs for submitting and managing tasks that are to be executed concurrently.

 

Steps for making the Endpoint publisher multithreaded

1. The first step to making the Endpoint publisher multithreaded is to create an executor class.

We can extend ThreadpoolExecutor for trying it out:

class MyExecutor extends ThreadpoolExecutor {//add code}

 

Most extensions of ThreadpoolExecutor class override one or more of the protected hook methods.

 

2. In the Endpoint publisher class, we then create an Endpoint instance as:

Endpoint endpoint = Endpoint.create (new SIB());

 

3. Next, set the Executor as:

endpoint.setExecutor (new MyExecutor());

 

4. Finally publish the url as:

endpoint.publish(url)

Refer to and make changes to the Publisher class in ‘Writing a simple SOAP Web Service bottoms up’ if you want to try it out.

 

Advantage of this approach

An advantage of this approach is that, the details of thread management do not intrude at all into the publisher.

 

Limitation of this approach

The multithreaded Endpoint publisher is suited for light weight production, however a web container such as Tomcat is better suited to publish multiple web services.

Comments

Thanks for this article. It is very usefull

Was it useful?

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within javajee.com!!!

Quick Notes Finder Tags

Activities (1) advance java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (52) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exceptions (4) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (4) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (4) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (4) Java Programmer 2 (2) Javascript Frameworks (1) Java SE Professional (1) JSP (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quizzes (17) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Sorting (1) source code management (1) spring (4) spring boot (1) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)