How do I setup a jndi datasource in glassfish 3.1? - glassfish

I need to setup jndi datasource in my web application deployed on the glassfish server. I don't want to use glassfish admin console for creating connection pool and jndi datasource. (This works though.)
I would want to use some xml files like context.xml (used in tomcat) to specify the jndi datasource details which will be bundled with the application war file.
This way if I deploy my app war file I would not have to do any changes in the glassfish from the admin console.
Please help.
PS. I tried putting context.xml in war META-INF, but its not working. When I deploy my war on glassfish it says jndi name not found.

You can't set up resources on Glassfish application server from within an enterprise application; I would even say it's true for any Java EE-compliant application server. It's simply against EJB separation of roles: preparing the application is the role of Enterprise Bean Provider and Application Assembler, and installing it on the server belongs to the Deployer (see EJB 3.1 spec, chapter 2.2).
You surely don't have to set up everything manually, though. Glassfish has a command line tool asadmin, with the help of which you can script all operations accessible from the GUI admin console — take a look at the Glassfish Admin Guide.

Related

Why is MobileFirst Server Configuration Tool not letting me deploy with libertyAdminUser and libertyAdminPassword?

I'm trying to deploy a MobileFirst server to a local Liberty server configured with an LDAP server.
When I try and deploy my server configuration the admin task fails due to lack of attributes for connecting to Liberty.
BUILD FAILED
C:\Users\Administrator\Documents\IBM MobileFirst Platform Server Data\Server Configuration Tool\Configuration_Hello MobileFirst Server\Hello MobileFirst Server.xml:88: The element <installWorklightAdmin>, <jmx libertyAdminUser=".." libertyAdminPassword="..."/> is missing. A default user cannot be created for this server.
I have tried updating the server configuration file manually before deploying, but the server configuration tool is just saving over the changes.
How can I resolve this problem from within the Server Configuration Tool?
The Server Configuration Tool in MFP 7.0 can't be used to make an install on a Liberty server that is configured with LDAP.
In the simplified install process of the Server Configuration Tool, it automatically creates a Liberty Administrator in a basic registry and this is not possible if Liberty is configured with LDAP.
If you don't want to create ant files manually, you can:
Export the ant files that you created with the Server Configuration Tool (Menu File/Export Configuration as Ant files...)
Edit them so that they have the right attributes in the jmx element (you need to provide the login of password of a user that will be used as Liberty Administrator and that the apps will use to perform JMX calls)
Run the ant files as described here
For the admin: https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.installconfig.doc/install_config/r_wlconsole_ant_tasks.html
For the runtime: https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.deploy.doc/devref/c_project_war_file_ant_tasks.html
You may encrypt the password of the JMX user with the Liberty securityUtility program (in LibertyInstallDir/bin)

How to deploy EJB EAR file to JBoss 7 with JDeveloper

I have a project done in JDeveloper 11g that are EJBs. I can write these to an EAR file. Now, how do I deploy this file to the JBoss app server? This was previously deployed to a JBoss 6 server but ever since I upgraded to 7 and nothing works. Will the same beans work in 7?
You can try creating an "Application Server" connection in JDeveloper to your JBoss server and then from your application menu choose deploy... to the server.
Or you can create the EAR in JDeveloper, pick it up with the JBoss admin console and deploy it.
Whether it will work depends on what is in your application.

IBM Worklight 6.1.0.1 - Server Configuration Tool issues

My configuration is:
OS: RHEL 5.7
IBM DB2 10.1
WAS8.5
WL6.1.0.1 (last fix pack installed)
When reading the WL6.1 Information Center, it is said that you can deploy several Worklight projects (that is, several project WAR files) to an application server just as you would deploy any JEE application: each deployed project must have a unique name and a unique context path.
This exactly what I am trying to do using the Server Configuration Tool located under the directory '/opt/IBM/Worklight/shortcuts/'.
When deploying the first WAR file under a WebSphere Application server profile, the Server Configuration Tool works perfectly and creates/deploys an EAR file named 'IBM_Worklight_Console.ear', in which the WAR file is included. However, when using the Server Configuration Tool to deploy a new WAR file under the same WebSphere Application server profile, the Server Configuration Tool creates the same EAR file named 'IBM_Worklight_Console.ear' with the new WAR file included. But obviously it overwrites the first Worklight Server configuration, preventing to deploy several Worklight projects to the websphere application server profile as it is supposed to do.
What could be the problem?
The Worklight documentation, section "Configuring multiple IBM Worklight projects", says that for multiple Worklight project WAR files in WebSphere Application Server, each must have a different id. In the Worklight Server Configuration Tool, you enter this id in the "Application server configuration" panel, in the "Deployment id" field. Once you choose a different id for each, they will be able to coexist. (At most one of the ids can be left empty.)

Exception starting Worklight server on Tomcat

I move the application from dev to producation,change the application-description.xml and worklight.properties files and generate a .war file,and then i add it to the tomcat,but when I start tomcat,it occur the follow error:
java.lang.ClassNotFoundException: Class org.hsqldb.jdbcDriver not found in Worklight platform or project
but even I add the hsql.jar to my application,it still the error,any help?
my worklight version is 5.0.5 and apache-tomcat-7.0.37 and mysql is 5.1.57
HSQL is the default database used when running the Worklight project in Eclipse.
When you move to Tomcat, you also need to edit in worklight.properties the database-related properties.
Since you mentioned MySQL, you need to uncomment the MySQL section in worklight.properties and edit it according to your setup.
Of course, also undeploy and re-deploy the updated .war file.
Additions:
HSQL is a filesystem-driven database, and is provided by Worklight to work out-of-the-box, when running in Eclipse.
When moving to Tomcat and installing Worklight in it, you must edit worklight.properties and set it up so that it will know how to talk with the datbase.
In your case, when using MySQL you must also include in Tomcat's \lib folder the MySQL connector/J file. You can get it from here: http://www.mysql.com/downloads/mirror.php?id=412178 (click on "No thanks, just start my download" at the bottom).
Note that in order to run Worklight on an Application Server (such as Tomcat, WebSphere or Liberty), you must use either the Consumer or Enterprise Edition of Worklight. This is required as otherwise you will not have the Worklight JEE .jar file as well as the SQL scripts to create the database tables. All of this is done via the IBM Installation Manager.
You cannot use Worklight on an Application Server using the Developer Edition.

Downloading application from weblogic server

I have requirement for testing a j2ee application which is deployed in a weblogic server.
I have to get the ear add my testclasses into that and depoly it back.
Since weblogic server takes so much memory , I want to run my testcases to run in another box , connect to the weblogic server and download the ear from there and modify and deploy it back.
I know that it is possible to remotely deploy application in weblogic.
But is it possible to download the application from weblogic ? using JMX ?
Thanks in advance.
Thanks
J
JMX is for the runtime configuration and management (Java Management Extensions). What you're looking for is much simpler - On the WebLogic console, go to the deployments and click on the application of interest.
Next, figure out what the path of the deployed application is and then manually copy (scp if you're in UNIX) the ear file over to your local directory.
If you don't have access to the hosting server then it's not possible to download the app.