Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Creating my own library - thread safe issues

Status
Not open for further replies.

shokotah

Programmer
Aug 4, 2010
1
ZA
I'm in the process of creating a my own library. I've studied the internet and forums and articles about synchronization, locking, and even what seems to be the advise for libraries is standard pojo but with thread safe wrappers.

I'm so confused. I'm new in Java, created plenty of classes, exceptions and web services which works great. Coming from Delphi background most of these are not new to me. Building libraries is a different matter.

I have 2 concerns:

1. Using the lib classes from an EJB
2. Using it from multiple threads.

Creating a class instance per thread or instance seems to be the logical (maybe incorrect) conclusion. This will ensure that each validation is not interfered with.

My scenario is as follows:

I have a class that does validation of a string. This process will include parsing of the string, looking data up in a database or hashmap or some structure and then constructing an output which is not just a singel string but can be a number of fields of varying types.

E.g.

public class Validator {

private String _string_to_validate = null;
private final String resultString1 = null;
private final int resultInt1 = -1;

public Validator() {
}

public void validate() {
//parse the string and do db lookups etc
doSomeStuff();
}

public void validate(String value) {
this._string_to_validate = value;
validate();
}

private void doSomeStuff() {
//manipulate string and set results
manipulate();
resultInt1 = 9292;
resultString1 = "whatever I need to set it to";
}


}


Is this ok? Please help.
 
I can't see where is the problem: your class has not static variables, so there will be differente instances running with no synchronization problems. The application server with handle thread and classes issues for you.

Cheers,
Dian
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top