Mike Ottinger

Ranch Hand
+ Follow
since Jan 11, 2002
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Mike Ottinger

Thanks for the reply Ivan, unfortunately adding the targetNamespace attribute to the @WebResult attribute doesn't seem to help. I've got it working by adding a simple dummy String parameter

I just find this less than ideal, I don't need the parameter so why am I forced to make one?

Thanks again for the reply
10 years ago
Hi All, within my service I have the following defined:

When I deploy this and attempt to call, I get the following error:

Endpoint {http://service.integration.sephora.com}UpdateSkinCareProductEligibilityHistoryPort does not contain operation meta data for: updateSkinCareProductEligibilityHistory

It's only when I place in an empty parameter like this:

that I get it working. Is it not possible to define a service method with no arguments? Is there another annotation I might be missing to make this work? Thanks
10 years ago
Looks like you need the servlet.jar files in your project's classpath.
12 years ago
Hi Fei, synchronizing the entire method, while technically could work, you need to take into consideration performance. Imagine a scenario where many threads are vying for access to the methods of your object. Each of them having to wait for the entire method to execute before they could possibly have their turn, would invariably result in poor performance. The best approach with multi-threaded programming is to synchronize only the resources that's state can be affected by multiple threads. This could be the RandomAccessFile object in your data class, or some sort of map object in a locking class. This approach does require you to think carefully about your design, but the improvements in performance are well worth it. Hope this helps.
hmmm, interesting thoughts on your design. I went the route of using a traditional DTO, java bean representing a Contractor. This felt more natural to me, it's also more self-documenting in that method signatures are defined with the use of the Contractor class. And IMHO regardless of whether you're using a DTO or a map, changes to the underlying data structure will still need to be propagated to client code. Your gui will still need to access a new phone number field, you've just decided to do it via a key/value pair in a map, versus a getter from a DTO. This is my 2 cents. Let me know if overall you find the map route a better solution, to each their own, especially in the SCJD

Hi Eric,

I added 2 additional public and 2 additional private methods to my implementing class. No problems with that at all. I would NOT add these method declarations to the supplied interface, though. Leave that untouched. Hope this helps.
Hi Mattman,

This means that your application, when running in non-networked mode must connect to your database locally, not through an RMI or socket implementation. Maybe this will help; Think of a database class you've written to satisfy the provided interface Sun has given you. In networked mode, your GUI will interact with that class via RMI or sockets. In local mode, your GUI will directly instantiate the database class itself (or maybe a factory class working on behalf of your database class).

I hope this doesn't muddle things further
Hi Chih, not sure if there's a time limit on taking the essay, but I STRONGLY encourage you to take it as soon as possible. I waited about a week and a half after submitting my assignment to take the essay. I figured all the details of my project would still be fresh in my mind, but I found it hard to recollect certain decisions I had made. The sooner the better is all I have to say. And no, you don't have to wait for a confirmation of receipt from Sun before taking the essay.
Hi Alberto, I'd steer clear of anything that generates code for you, you're responsible for every line of code, if Sun determines your GUI came from a tool it might mean an auto fail. Probably just best to be safe and right the GUI by hand.
Hi Alberto, B&S stands for Blodgitt & Scarper, the fictitious contractor company for who you're developing your java application for. This is just one of a few (3?) possible assignments you could be given, there's UrlyBird and Fly By Night, I don't know much about those because my assignment was B&S. Hope this helps.
Hi Alberto,

Here was my breakdown in score:

General Considerations 90/100
Documentation 70/70
O-O Design 30/30
GUI 40/40
Locking 80/80
Data store 40/40
Network server 40/40

Aside from Andrew's book, my only other resource was this forum, whatever question I might have had could be found in this forum, it was indispensable. Another thing that I felt helped a lot was using TestNG, a new generation of unit testing that, in my opinion, is leaps and bounds better than junit, TestNG supports multithreaded testing, something very important for this assignment. Also, I'm a big fan of Spring and took many design ideas through Spring (subclassing RuntimeException, setting dependencies for a class externally, dealing with POJOs as much as possible). I've been working professionally with java for about 5 years now. It took me a little less than 6 months to complete the SCJD, but I took a couple months in the middle off, so altogether I probably spent 3 months of solid work on it. Hope this helps and good luck!
Hi Ciaran,

IMO it's advisable to use separate locks for each resource. No sense in having a thread block on a lock if it's being locked for a resource it's not even interested in. This is not bad form. Hope this helps.
Hi Liviu,

The contractor names and locations are retrieved from the database as the GUI search panel is being instantiated, and not again after that. If new contractors were to be added to the database, the app would need to be restarted to reflect that. This was the trade-off for a simpler design. Hope this helps.
Hi Aaron,

I implemented the searching using combo boxes. I felt, even with a potential increase in names and locations, that this approaches was still tenable. I had two drop-downs, one for name and location each. Then a radio button indicating a search mode of 'any' or 'both', defaulting to 'any'. With drop-downs, the user input is controlled, thus removing the need for me to do any intensive validation of search terms. Hope this helps...