Help coderanch get a
new server
by contributing to the fundraiser

jim stone

Greenhorn
+ Follow
since Apr 26, 2005
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by jim stone

Just checking on people's opinions on the worthiness of this and the feasability. Our current environment is JEE 6 using JBoss 6, soon to migrate to JBoss 7. We make use of EJB's using EJB 3.1. Currently, there is no Spring components in the application, but we are trying to see if using Spring Security 3.0 with ACL is feasible. The ACL checking would be performed in the EJB layer to accomplish some finer grained security at an object level. We are also using CAS as our authentication component and it will also retrieve role information. The presentation layer is REST (JBoss RESTEASY), there is no Spring MVC or any other presentation layer framework. All components are colocated on the same server within the same EAR file. I've been able to use Spring Security with the CAS authentication filter to authenticate with no problems. Still having issues getting role information...but that should be minor. The big question is, can the Spring Security Context be propogated to the EJB layer so that we can use Spring ACL Security in the EJB layer. I have not tried this, but if the components are colocated, will the Spring Context be automatically available to the EJB's, or will the EJB's need to contain their own Spring Context to load at EJB startup (perhaps a singleton bean that loads the context....). If the EJB"s must load their own context, how do they get a handle to the Spring Context from the web tier. Will JAAS have to come into play to perform the handshake between the two? This is the architecture being proposed. Why you ask. The thought process is that the ACL security in JBoss is not that great and Spring Security provides a much finer grained security. I havent' seen much on the web regarding Spring security in EJB's and my guess is that if you're using Spring...you are not using EJB's. Unfortunately, it is what it is for the department and we're trying to make this work. I know the first thought would be to remove the EJB's and make them POJO's under Spring..because EJB's in 3.0 are POJO's. Personally, I"m on board with that, but unfortunately, our architecture is being dictated for us and we cannot change at this point in the game. Any thoughts will be greatly appreciated.
12 years ago
It seems that if President-Elect Barack Obama's plan to see to it that all health records now become digital, this could lead to alot of new IT jobs within the United States. Right now, they're saying the plan is flawed because they don't have enough IT people to work on such a project. If this is the case, I could forsee a jump in students entering into Computer Science/IT programs at colleges and universities. The only problem would be if they could be trained and productive in the timeframe that President Elect Obama's is looking for this to be implemented. I'm sure most of the work will be done in the US using US employees...if the goal is to reduce the unemployment rate. I would have to imagine that some contract/H1B work would have to be used.
15 years ago
SCM teams and administrators handle alot of the deployments and bindings (at least in larger companies where resources may be more plentiful) so I don't really see it as a major issue. Sometimes it's just a recruiter reading a spec sheet that doesn't know the difference.
18 years ago
Massachusetts is also a hot spot. They're are a ton of jobs here. Sun and BEA are here as well as the major Financial Institutions.
18 years ago
JMS and message oriented middleware are very hot also due to the emergence of SOA.
18 years ago
Pick up a copy of the 'J2EE Design Patterns' book and you'll see firsthand how to fully architect what you're trying to do. Also, the SUN J2EE Tutorial is also helpful. These books will contain all the design patterns that you'll need.
You may want to look at the JBossIDE tutorial on the JBOSS site. It contains hooks into the JBOSS Application server and allows you to start/stop and deploy to a JBOSS App server from eclipse.
I do see the createConnection() under the ConnectionFactory interface now. Perhaps I was looking at the J2EE 1.3 API when I was looking into this earlier. This makes me feel better now.
It states that createConnection() is not a method of ConnectionFactory. I can see why that is as the ConnectionFactory object was not cast to a QueueConnectionFactory or TopicConnectionFactory (unless the cast takes place under the covers). The subclass actually defines the createConnection() method. I can understand why it fails under the JBOSS IDE compiler. I guess I'm puzzled as to why it compiles under the Sun J2EE 1.4 compiler.
cd to the directory that as the src and build directories. There should be a build.xml and build.properties file. run asant build in that same directory. Example would be c:/javatutorial/jaxrpc/helloservice. The build xml file would be in the helloservice directory.
This program compiles under the Sun Application Server but not under JBOSS. The code creates an instance of a ConnectionFactory but never casts it to a TopicConnectionFactory or a QueueConnectionFactory. It tries to perform a connectionFactory.getConnection. The getConnection is a method of the sublcass QueueConnectionFactory and TopicConnectionFactory but not of ConnectionFactory. I'm puzzled why it compiles if it wasn't cast to one of the subclasses before trying to execute QueueConnectionFactory. Heres' the code.

import javax.jms.*;
import javax.naming.*;

public class SimpleProducer {

/**
* Main method.
*
* @param args the destination used by the example,
* its type, and, optionally, the number of
* messages to send
*/
public static void main(String[] args) {
final int NUM_MSGS;

if ( (args.length < 2) || (args.length > 3) ) {
System.out.println("Program takes two or three arguments: " +
"<dest_name> <queue|topic> " +
"[<number-of-messages>");
System.exit(1);
}
String destName = new String(args[0]);
String destType = new String(args[1]);
System.out.println("Destination name is " + destName +
", type is " + destType);
if (args.length == 3){
NUM_MSGS = (new Integer(args[2])).intValue();
} else {
NUM_MSGS = 1;
}

/*
* Create a JNDI API InitialContext object if none exists
* yet.
*/
Context jndiContext = null;
try {
jndiContext = new InitialContext();
} catch (NamingException e) {
System.out.println("Could not create JNDI API " +
"context: " + e.toString());
System.exit(1);
}

/*
* Look up connection factory and destination. If either
* does not exist, exit. If you look up a
* TopicConnectionFactory instead of a
* QueueConnectionFactory, program behavior is the same.
*/
ConnectionFactory connectionFactory = null;
Destination dest = null;
try {
connectionFactory = (ConnectionFactory) //this is the uncasted reference
jndiContext.lookup("jms/QueueConnectionFactory");
if (destType.equals("queue")) {
dest = (Queue) jndiContext.lookup(destName);
} else if (destType.equals("topic")) {
dest = (Topic) jndiContext.lookup(destName);
} else {
throw new Exception("Invalid destination type" +
"; must be queue or topic");
}
} catch (Exception e) {
System.out.println("JNDI API lookup failed: " +
e.toString());
e.printStackTrace();
System.exit(1);
}

/*
* Create connection.
* Create session from connection; false means session is
* not transacted.
* Create producer and text message.
* Send messages, varying text slightly.
* Send end-of-messages message.
* Finally, close connection.
*/
Connection connection = null;
MessageProducer producer = null;
try {
connection = connectionFactory.createConnection(); //this fails under jboss but not sun app server
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(dest);
TextMessage message = session.createTextMessage();
for (int i = 0; i < NUM_MSGS; i++) {
message.setText("This is message " + (i + 1));
System.out.println("Sending message: " +
message.getText());
producer.send(message);
}

/*
* Send a non-text control message indicating end of
* messages.
*/
producer.send(session.createMessage());
} catch (JMSException e) {
System.out.println("Exception occurred: " +
e.toString());
} finally {
if (connection != null) {
try {
connection.close();
} catch (JMSException e) {}
}
}
}
}
I'm trying to start the jboss 4.0 server using the debug feature of jboss-ide. When it starts up, I get a ClassNotFoundException on a utility class that I created that is used by the session ejb. The utility class is part of a jar file called utility.jar. This utility.jar file is contained in the ejb jar file. I can't seem to figure out why I'm getting the error if everything is located in the jar files. I created the utility.jar file using the jboss-ide packaging configuration. I then added the utility.jar to the ejb jar file using the packaging configuration. I was able to get this all to work in a project that had only one .war file and the ejb jar file. Once I added the utility.jar in the same project as the web and ejb code, I'm getting the ClassNotFoundException. Just curious if anyone else has recieved this before.
18 years ago
If it's anything like the east coast, 75-80k is about right.
19 years ago
The contracting company pays overtime and the fulltime position will not. The fulltime position is a salaried position. The contract gig will allow a conversion to full time at the client company at the end of the year also.
19 years ago