﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ywjr-随笔分类-WebSphere</title><link>http://www.blogjava.net/ywjr/category/43032.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 01 Jan 2010 09:32:04 GMT</lastBuildDate><pubDate>Fri, 01 Jan 2010 09:32:04 GMT</pubDate><ttl>60</ttl><item><title>hibernate  use  Websphere   datasource</title><link>http://www.blogjava.net/ywjr/archive/2009/12/18/306468.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Fri, 18 Dec 2009 01:19:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2009/12/18/306468.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/306468.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2009/12/18/306468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/306468.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/306468.html</trackback:ping><description><![CDATA[reference&nbsp; url：<br />
&nbsp;&nbsp;&nbsp; <a href="http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html">http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html</a><br />
<br />
when&nbsp; webSphere&nbsp; application server&nbsp; startup,&nbsp; hibernate uses&nbsp; WebSphere datasource.<br />
step by&nbsp; step：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1 &nbsp;coding&nbsp; statup&nbsp; constom service<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.management.Notification;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.management.NotificationFilterSupport;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.management.NotificationListener;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.management.ObjectName;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public class WebsphereStartup implements CustomService,NotificationListener {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void initialize(Properties arg0) throws Exception {&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NotificationFilterSupport filter = new NotificationFilterSupport();&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter.enableType(NotificationConstants.TYPE_J2EE_STATE_RUNNING);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectName target = new ObjectName("WebSphere:*,type=Server");&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdminServiceFactory.getAdminService().addNotificationListenerExtended(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;null);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void shutdown() throws Exception {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// When&nbsp; was&nbsp; shutdown，&nbsp; this&nbsp; method&nbsp; is&nbsp; executed<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void handleNotification(Notification notification, Object handback) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; write&nbsp; init&nbsp; code&nbsp; here <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;init();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp; modify&nbsp;&nbsp;&nbsp; hibernate config file&nbsp; hibernate.cfg.xml<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="hibernate.connection.datasource"&gt;data&nbsp; source&nbsp; jndi&lt;/property&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;property name="hibernate.connection.username"&gt;name&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="hibernate.connection.password"&gt;password&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;property name="hibernate.session_factory_name"&gt;HibernateSessionFactory&lt;/property&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="connection.autocommit"&gt;false&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="net.sf.hibernate.transaction.JTATransactionFactory"&gt;net.sf.hibernate.transaction.WebSphereTransactionManagerLookup&lt;/property&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;property name="show_sql"&gt;false&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="dialect"&gt;org.hibernate.dialect.Oracle9Dialect&lt;/property&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意：如果是非事务性数据源&nbsp; 那么在hibernate.cfg.xml&nbsp; 必须设置&nbsp;&lt;property name="connection.autocommit"&gt;false&lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp; create&nbsp; datasource&nbsp;&nbsp; jndi &nbsp;on&nbsp; was<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果是非事务性数据源，在建立数据源时，也要设置为非事务性数据源。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp; &nbsp;config&nbsp; custom service&nbsp; bean&nbsp; on Websphere<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; was&nbsp;console &gt;servers&gt; application server &gt; server1&gt;manage&gt;custom service &gt;new<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;start Server </p>
<img src ="http://www.blogjava.net/ywjr/aggbug/306468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2009-12-18 09:19 <a href="http://www.blogjava.net/ywjr/archive/2009/12/18/306468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebSphere访问操作系统中文件 权限问题</title><link>http://www.blogjava.net/ywjr/archive/2009/12/09/305304.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Wed, 09 Dec 2009 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2009/12/09/305304.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/305304.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2009/12/09/305304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/305304.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/305304.html</trackback:ping><description><![CDATA[参考：<br />
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rsec_serverpolicy.html<br />
<br />
错误信息（在Systemout.Log文件中）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; java.security.AccessControlException: Access denied (java.io.FilePermission&nbsp;&nbsp;<br />
&nbsp;解决方法<br />
修改 <tt>server.policy</tt> 文件，在 <tt><em>install_root</em>/properties/server.policy</tt> 中找到此文件。此文件包含这些缺省许可权：
<pre>// Allow to use ibm jdk extensions
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
// Allow to use ibm tools
grant codeBase "file:${was.install.root}/java/tools/ibmtools.jar" {
permission java.security.AllPermission;
};
// Allow to use sun tools
grant codeBase "file:/QIBM/ProdData/Java400/jdk14/lib/tools.jar" {
permission java.security.AllPermission;
};
// Allow to use sun tools (V5R2M0 codebase)
grant codeBase "file:/QIBM/ProdData/OS400/Java400/jdk/lib/tools.jar" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
// Allow Channel Framework classes all permission
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/classes/-" {
permission java.security.AllPermission;
};
</pre>
<p>如果节点上有一些服务器程序需要许可权，而这些许可权在 <tt>server.policy</tt> 文件和 <tt>server.policy</tt> 文件中未定义为缺省值，那么更新 <tt>server.policy</tt> 文件。缺少许可权将创建 java.security.AccessControlException 异常。缺少的许可权在异常数据中列示。 <br />
<br />
<br />
然后重新启动服务器</p>
<img src ="http://www.blogjava.net/ywjr/aggbug/305304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2009-12-09 17:04 <a href="http://www.blogjava.net/ywjr/archive/2009/12/09/305304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>startup   class interface  of  tomcat   \jboss \ webSphere</title><link>http://www.blogjava.net/ywjr/archive/2009/12/02/304525.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Wed, 02 Dec 2009 08:23:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2009/12/02/304525.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/304525.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2009/12/02/304525.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/304525.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/304525.html</trackback:ping><description><![CDATA[1&nbsp;&nbsp; startup&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on&nbsp; jboss<br />
&nbsp;&nbsp;&nbsp;&nbsp;MBeanRegistration<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br />
&nbsp;&nbsp;&nbsp;&nbsp;ServiceMBeanSupport&nbsp;&nbsp;&nbsp;&nbsp; 和ServiceMBean<br />
2&nbsp;&nbsp; startup&nbsp; class&nbsp; on Websphere<br />
&nbsp;&nbsp;&nbsp; customService&nbsp;&nbsp;&nbsp; interface&nbsp; （need&nbsp; com.ibm.ws.runtime.jar )<br />
<br />
3&nbsp;&nbsp; startup&nbsp; class&nbsp; on tomcat&nbsp;<br />
&nbsp;&nbsp; ServletContextListener&nbsp; interface<br />
 <img src ="http://www.blogjava.net/ywjr/aggbug/304525.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2009-12-02 16:23 <a href="http://www.blogjava.net/ywjr/archive/2009/12/02/304525.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Does WAS6.1 needs stubs for EJB3  </title><link>http://www.blogjava.net/ywjr/archive/2009/11/24/303478.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Tue, 24 Nov 2009 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2009/11/24/303478.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/303478.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2009/11/24/303478.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/303478.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/303478.html</trackback:ping><description><![CDATA[<div class="jive-message-body">trace：&nbsp;http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14023850<br />
<br />
The need to use statically-defined stubs depends only on what kind of client you have; it doesn't depend at all on where the EJB is that you're looking up or invoking. If your client is a WebSphere container that's been upgraded via the EJB 3.0 feature pack, then we have technology in the container itself that will dynamically generate the client-side stub for you in-memory when it's needed, assuming that you at least have the EJB remote interface packaged where the client can access it. So if your client is the WAS web container, EJB container, or application client container and the client environment has had the EJB 3.0 feature pack applied, you should not need to generate or package any client-side stubs with your client. If your client environment is something other than the above, then you will need to generate the client-side stubs with the createEJBStubs tool that comes with the EJB 3.0 feature pack, and package the resulting stubs in your client package. Here's a snippet of the documentation that covers this in more detail:<br />
<br />
<strong>Just-In-Time Deployment</strong><br />
<br />
The EJB 3.0 Feature Pack adds a new feature to WebSphere application server called Just-In-Time Deployment. With Just-In-Time Deployment, the EJB container dynamically generates the wrapper, stub, and tie classes in-memory as needed when the application is running. Additionally, the web container and application client containers dynamically generate the stub class required for remote EJB invocations. Effectively, this means that you do not need to process EJB 3.0 modules, web modules that invoke EJB 3.0 beans, or client modules that invoke EJB 3.0 beans, through the EJBDeploy tool prior to running them in WebSphere.<br />
<p><strong>The createEJBStubs tool</strong><br />
<br />
Even though the Just-In-Time deployment feature will, in many cases, dynamically generate the RMI-IIOP stub classes that are required for invocation of remote EJB interfaces, there remain some cases where these stub classes are not dynamically generated. For EJB 3.0 clients not running inside a WebSphere feature-pack-upgraded web container, EJB container, or client container, it is necessary for you to generate the stub classes with the createEJBStubs tool, then make the generated stubs available in the client environment's classpath. Typically you would accomplish this by copying the generated stubs to the location where the client's business interface class resides.<br />
<br />
To summarize, the createEJBStubs tool must be used to generate client-side stubs for the following environments:<br />
<br />
* "Bare" Java SE clients, where a Java SE JVM is the client environment<br />
* WebSphere Application Server container environments without the EJB 3.0 feature pack applied<br />
* Non-WebSphere application server environments<br />
<p>&nbsp;</p>
</div>
 <img src ="http://www.blogjava.net/ywjr/aggbug/303478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2009-11-24 15:46 <a href="http://www.blogjava.net/ywjr/archive/2009/11/24/303478.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>