﻿<?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-Have been sleeping for long time</title><link>http://www.blogjava.net/ramon/</link><description>The hope, the dream</description><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2026 23:05:29 GMT</lastBuildDate><pubDate>Wed, 15 Apr 2026 23:05:29 GMT</pubDate><ttl>60</ttl><item><title>Install Oracle 11g R2 on Ubuntu</title><link>http://www.blogjava.net/ramon/archive/2010/03/16/315593.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Tue, 16 Mar 2010 07:57:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2010/03/16/315593.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/315593.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2010/03/16/315593.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/315593.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/315593.html</trackback:ping><description><![CDATA[<p>Ubuntu is not an official supported linux version from Oracle, so I still get some errors during the install process even with required configuration, anyway, it can work and what i'm doing here is try to setup an experiment environment, it's enough to me, any one who want to deploy Oracle in product mode should have supported linux platform like RedHat, OK, following is the steps i have to install it:<br />
<br />
1. If you were in multihomed enviroment, set the ORACLE_HOSTNAME variable:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<em>export ORACLE_HOSTNAME=machine_name.domain_name<br />
<br />
</em>2. Create create OSDBA (dba) group, Oracle Inventory group (oinstall)&nbsp; and a user "oracle" which has "dba" as its login group and oinstall as its 2nd group.<br />
<br />
3. Modify /etc/sysctl.conf, set kernel parameter:</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">kernel</span><span style="color: #000000">.</span><span style="color: #000000">shmall&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">2097152</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />kernel</span><span style="color: #000000">.</span><span style="color: #000000">shmmax&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">2147483648</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />kernel</span><span style="color: #000000">.</span><span style="color: #000000">shmmni&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">4096</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />kernel</span><span style="color: #000000">.</span><span style="color: #000000">sem&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">250</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">32000</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">100</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">128</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />fs</span><span style="color: #000000">.</span><span style="color: #000000">file</span><span style="color: #000000">-</span><span style="color: #000000">max&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">65536</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />net</span><span style="color: #000000">.</span><span style="color: #000000">ipv4</span><span style="color: #000000">.</span><span style="color: #000000">ip_local_port_range&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1024</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">65000</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />net</span><span style="color: #000000">.</span><span style="color: #000000">core</span><span style="color: #000000">.</span><span style="color: #000000">rmem_default&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1048576</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />net</span><span style="color: #000000">.</span><span style="color: #000000">core</span><span style="color: #000000">.</span><span style="color: #000000">rmem_max&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1048576</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />net</span><span style="color: #000000">.</span><span style="color: #000000">core</span><span style="color: #000000">.</span><span style="color: #000000">wmem_default&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">262144</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />net</span><span style="color: #000000">.</span><span style="color: #000000">core</span><span style="color: #000000">.</span><span style="color: #000000">wmem_max&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">262144</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<br />
4. Modify /etc/security/limits.conf to improve the&nbsp;"number of process" and "number of open file"&nbsp;&nbsp;performance for oracle:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">oracle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soft&nbsp;&nbsp;&nbsp;&nbsp;nproc&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">2047</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />oracle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hard&nbsp;&nbsp;&nbsp;&nbsp;nproc&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">16384</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />oracle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soft&nbsp;&nbsp;&nbsp;&nbsp;nofile&nbsp;&nbsp;</span><span style="color: #800000">1024</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />oracle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hard&nbsp;&nbsp;&nbsp;&nbsp;nofile&nbsp;&nbsp;</span><span style="color: #800000">65536</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<br />
5. Modify /etc/pam.d/login, add:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">session&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">lib</span><span style="color: #000000">/</span><span style="color: #000000">security</span><span style="color: #000000">/</span><span style="color: #000000">pam_limits</span><span style="color: #000000">.</span><span style="color: #000000">so<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />session&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pam_limits</span><span style="color: #000000">.</span><span style="color: #000000">so<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<br />
6. Modify /etc/profile:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #800080">$USER</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">oracle</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;];&nbsp;then<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #800080">$SHELL</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000; font-weight: bold">/bin/ksh</span><span style="color: #000000; font-weight: bold">"</span><span style="color: #000000">&nbsp;];&nbsp;then<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">p&nbsp;</span><span style="color: #800000">16384</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;</span><span style="color: #800000">65536</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">u&nbsp;</span><span style="color: #800000">16384</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;</span><span style="color: #800000">65536</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />fi<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<br />
7. Change user to oracle if you haven't done it yet<br />
<br />
8. Create base directory, for me it's "/app/oracle"<br />
<br />
9.&nbsp;Export ORACLE_BASE, ORACLE_SID<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">export&nbsp;ORACLE_BASE</span><span style="color: #000000">=/</span><span style="color: #000000">app</span><span style="color: #000000">/</span><span style="color: #000000">oracle<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />export&nbsp;ORACLE_SID</span><span style="color: #000000">=</span><span style="color: #000000">orcl</span></div>
<br />
10.&nbsp; If you're trying to install oracle with a X window:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">DISPLAY</span><span style="color: #000000">=your.ip.address</span><span style="color: #000000">:</span><span style="color: #800000">0.0</span><span style="color: #000000">&nbsp;;&nbsp;export&nbsp;DISPLAY</span></div>
<br />
11. run installer:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">./</span><span style="color: #000000">runInstaller</span></div>
<br />
12. Oracle should start, if the installer GUI cannot be&nbsp;start, check the error messages, most time it's because a wrong X window configuration, if you are running X window with Xming, just like me, please do make sure to check the "No Access Control" check box in the launch, otherwise, Xming will reject the connection.<br />
<br />
13. Now the GUI shoudl open, like what you did in the Windows system, fullfill required value and click next, ingore all errors if there is any condition that is not match, click finish in the last step, it should start install process.<br />
<br />
14. After install oracle, the installer GUI will ask you to run two .sh files, run it with a root role.<br />
<br />
15. You can try to visit <a href="https://you.ip.address:1158/em">https://you.ip.address:1158/em</a> to see is that OK for you.<br />
<br />
16. How to start oracle:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">export&nbsp;ORACLE_BASE</span><span style="color: #000000">=/</span><span style="color: #000000">app</span><span style="color: #000000">/</span><span style="color: #000000">oracle<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />export&nbsp;ORACLE_HOME</span><span style="color: #000000">=/</span><span style="color: #000000">app</span><span style="color: #000000">/</span><span style="color: #000000">oracle</span><span style="color: #000000">/</span><span style="color: #000000">product</span><span style="color: #000000">/</span><span style="color: #800000">11.2</span><span style="color: #000000">.</span><span style="color: #800000">0</span><span style="color: #000000">/</span><span style="color: #000000">dbhome_1<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />export&nbsp;ORACLE_OWNR</span><span style="color: #000000">=</span><span style="color: #000000">oracle<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />export&nbsp;ORACLE_SID</span><span style="color: #000000">=</span><span style="color: #000000">orcl<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />export&nbsp;PATH</span><span style="color: #000000">=</span><span style="color: #800080">$PATH</span><span style="color: #000000">:</span><span style="color: #800080">$ORACLE_HOME</span><span style="color: #000000">/</span><span style="color: #000000">bin<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />lsnrctl&nbsp;start<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />sqlplus&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">nolog<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">connect</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">as&nbsp;sysdba<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />startup<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />quit<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />emctl&nbsp;start&nbsp;dbconsole</span></div>
<br />
<br />
Reference<br />
http://download.oracle.com/docs/cd/B19306_01/install.102/b15660/pre_install.htm#BABDFJAE<img src ="http://www.blogjava.net/ramon/aggbug/315593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2010-03-16 15:57 <a href="http://www.blogjava.net/ramon/archive/2010/03/16/315593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to connect Reliance Modem AC2726 on Linux Ubuntu 9.10</title><link>http://www.blogjava.net/ramon/archive/2010/03/12/315300.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Fri, 12 Mar 2010 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2010/03/12/315300.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/315300.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2010/03/12/315300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/315300.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/315300.html</trackback:ping><description><![CDATA[1. Type command: lsusb<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Bus&nbsp;</span><span style="color: #800000;">002</span><span style="color: #000000;">&nbsp;Device&nbsp;</span><span style="color: #800000;">003</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;ID&nbsp;19d2</span><span style="color: #000000;">:</span><span style="color: #000000;">fff5&nbsp;ONDA&nbsp;Communication&nbsp;S</span><span style="color: #000000;">.</span><span style="color: #000000;">p</span><span style="color: #000000;">.</span><span style="color: #000000;">A</span><span style="color: #000000;">.</span></div>
2. Install "usb-modeswitch", then re-plugin modem again and input command "lsusb" again, you should get the following output<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Bus&nbsp;</span><span style="color: #800000;">002</span><span style="color: #000000;">&nbsp;Device&nbsp;</span><span style="color: #800000;">003</span><span style="color: #000000;">:</span><span style="color: #000000;">&nbsp;ID&nbsp;19d2</span><span style="color: #000000;">:</span><span style="color: #000000;">fff1&nbsp;ONDA&nbsp;Communication&nbsp;S</span><span style="color: #000000;">.</span><span style="color: #000000;">p</span><span style="color: #000000;">.</span><span style="color: #000000;">A</span><span style="color: #000000;">.</span></div>
3. Notice in step #2, the product code has been changed from "fff5" to "fff1".<br />
4. Install package "wvdial" which is used to dail up<br />
5. Type command: "sudo modprobe usbserial vendor=0x19d2 product=0xfff1", don't forget the "sudo"<br />
6. Type command: "sudo wvdialconf", again don't forget the "sudo", this will detect your modem<br />
7. Modify file "/etc/wvdial.conf", following is what I have:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;"><br />
[Dialer&nbsp;Defaults]<br />
Init1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ATZ<br />
Init2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ATQ0&nbsp;V1&nbsp;E1&nbsp;S0</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">C1&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">D2&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">FCLASS</span><span style="color: #000000;">=</span><span style="color: #800000;">0</span><span style="color: #000000;"><br />
Modem&nbsp;Type&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Analog&nbsp;Modem<br />
ISDN&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">0</span><span style="color: #000000;"><br />
New&nbsp;PPPD&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">1</span><span style="color: #000000;"><br />
Phone&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">#</span><span style="color: #008000;">777</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">Modem&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">dev</span><span style="color: #000000;">/</span><span style="color: #000000;">ttyUSB0<br />
Username&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;"> yourName<br />
Password&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;"> yourPassword<br />
Baud&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">921600</span><span style="color: #000000;"><br />
Stupid&nbsp;Mode&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">1</span><span style="color: #000000;"><br />
Tonline&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">0</span></div>
<br />
8. Repeat step #5 again and then if you with not bad luck type in command "sudo wvdial", you should connect in.<br />
9. If bad luck with you, click right-upper corner, there is a connection configuration menu, you can create "Mobile Broadband" connection yourself here, don't forget input the phone number "#777" (for China Telcom) and your username password, after that click connect, this works for me.<br />
10. Good luck with you.<br />
11. BTW, if it still cannot work, try to re-plug in the modem.<br /><img src ="http://www.blogjava.net/ramon/aggbug/315300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2010-03-12 18:03 <a href="http://www.blogjava.net/ramon/archive/2010/03/12/315300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle Tips Part Two</title><link>http://www.blogjava.net/ramon/archive/2010/03/07/314764.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Sun, 07 Mar 2010 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2010/03/07/314764.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/314764.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2010/03/07/314764.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/314764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/314764.html</trackback:ping><description><![CDATA[1. It will not get data from DB when just open the cursor, data will be loaded as an ongoing basis.<br />
<br />
2. SCN: System Change Number/System Commit Number<br />
<br />
3. FLASH BACK AS OF SCN;<br />
<br />
4. You can also flash back table: FLASHBACK TABLE SOME_TABLE TO SCN :SCN_NUM;<br />
<br />
5. But before you do a flash back operation on a table, do make sure you have already enbale ROW MOVEMENT on that table.<img src ="http://www.blogjava.net/ramon/aggbug/314764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2010-03-07 18:03 <a href="http://www.blogjava.net/ramon/archive/2010/03/07/314764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle Tips One</title><link>http://www.blogjava.net/ramon/archive/2010/03/06/314717.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Sat, 06 Mar 2010 13:25:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2010/03/06/314717.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/314717.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2010/03/06/314717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/314717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/314717.html</trackback:ping><description><![CDATA[<p>1. Do use oracle "Bind variable", it can increase the speed by 90 percent in 10g release1.<br />
<br />
2. Understand how to use "lock", read never block write, &nbsp;vice verse.<br />
<br />
3. There is a side effect from oracle regarding to the "lock", if you do want to control the access&nbsp;to one row at a specify time (like doing an if&nbsp;'this row belong to some search condition'&nbsp;then&nbsp;'modify this row' action), you have to write some logic yourself, for example use the "for update" statement, like: "select * from x where x.id = 1 for update", so that you can lock the row only with id equals to '1' and&nbsp;then modify this row, so that some orther concurrence requests should execute the same sql first, yes, with the same 'for update' statement, and because you already have locked this row(id = 1),&nbsp;orther requests cannot get the access to it, and you get the access control to this row.<br />
<br />
4. Regardint to item 3, it will not decrease the concurrence level, because first&nbsp;you only lock the item with id equals to 1 and there maybe thousands of items in your table, second, it will not block the read request.</p><img src ="http://www.blogjava.net/ramon/aggbug/314717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2010-03-06 21:25 <a href="http://www.blogjava.net/ramon/archive/2010/03/06/314717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>算法求解!如何判断一个单向链表是否有环路?</title><link>http://www.blogjava.net/ramon/archive/2009/03/02/257333.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Mon, 02 Mar 2009 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2009/03/02/257333.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/257333.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2009/03/02/257333.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/257333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/257333.html</trackback:ping><description><![CDATA[这该死的问题让我竟然没有想到解决方案...脑子生锈了？呵呵，算了...<br />
<br />
该问题最经典的解答，简直是一句话惊醒梦中人啊<br />
<br />
<strong>&#8220;用两个指针，一个的步长为 1，另外一个的为 2，从表头开始一起往前走，如果相遇，表明有环路，否则就是没有了。&#8221;</strong><br />
<br />
下来，不用说什么了吧，用JAVA实现的话，声明两个Iterator A 和 B，A 每次调用两个NEXT，B只调用一次，如果他们能够相遇，就是有环...我操<br /><img src ="http://www.blogjava.net/ramon/aggbug/257333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2009-03-02 14:15 <a href="http://www.blogjava.net/ramon/archive/2009/03/02/257333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Something you may ingore when to use Hibernate and JPA.</title><link>http://www.blogjava.net/ramon/archive/2008/04/03/190635.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Thu, 03 Apr 2008 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2008/04/03/190635.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/190635.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2008/04/03/190635.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/190635.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/190635.html</trackback:ping><description><![CDATA[<strong><span style="color: red;"><span style="color: red;">
The first is about identity generator, this is something I ingored and find really interesting later when I read back the document.</span></span></strong><br />
<br />
&nbsp;&nbsp;&nbsp; When you choose "native" (for plain <a title="hibernate" href="hibernate">hibernate</a>) or "AUTO" (for JPA which use <a title="hibernate" href="hibernate">hibernate</a> as provider) as identity generator, it (actually they are the same identity generator but with different name in different scope) will pick other identity generators like identity, sequence, or hilo, depending on the capabilities of the underlying database. Use this generator to keep your mapping metadata portable to different database management systems.<br />
&nbsp;&nbsp;&nbsp; If your underlying DB is oracle, it will automatically create a sequence for you which means choose the sequence as identity generator, that's really interesting, at least for me for the first time when it comes to me.<br />
<br />
<strong><span style="color: red;">
The second is about the flush and close session operations when to use <a title="hibernate" href="hibernate">hibernate</a> with JTA transaction.</span></strong><br />
<br />
&nbsp;&nbsp;&nbsp; You should manually flush your operation by call flush method and close your session by calling close method when you try to use JTA transaction instead of <a title="hibernate" href="hibernate">hibernate</a> Transaction API, these is because <a title="hibernate" href="hibernate">hibernate</a> Transaction API does thoes operations automatically for you. But, with following configuration, it can also be done automatically for you by <a title="hibernate" href="hibernate">hibernate</a>, though you are still with JTA transaction.<br />
<br />
&nbsp;&nbsp;&nbsp; <a title="hibernate" href="hibernate">hibernate</a>.transaction.flush_before_completion=true<br />
&nbsp;&nbsp;&nbsp; <a title="hibernate" href="hibernate">hibernate</a>.transaction.auto_close_session=true<br />
<br />
<strong><span style="color: red;">The third is about an interesting code snatch listed as follow:</span></strong><br />
&nbsp;&nbsp;&nbsp;
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #000000;">Session&nbsp;session&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;sessionFactory.openSession();<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;session.beginTransaction();<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;session.save(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Item());<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;session.close();</span></div>
<br />
&nbsp;&nbsp;&nbsp; What happen if you don't commit the transaction? It's depends on the underlying DB, for oracle it will commit any uncommited transactions, but for many other DB vendors, they will roll back any pending transactions.<br />
&nbsp;&nbsp;&nbsp; <br />
<br /><img src ="http://www.blogjava.net/ramon/aggbug/190635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2008-04-03 16:32 <a href="http://www.blogjava.net/ramon/archive/2008/04/03/190635.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A "Hello" program on EJB3 with Jboss server 4.2.2GA (PART 3) - EJB3 Timer service.</title><link>http://www.blogjava.net/ramon/archive/2008/03/26/188714.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Wed, 26 Mar 2008 05:30:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2008/03/26/188714.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/188714.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2008/03/26/188714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/188714.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/188714.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; Timer service in EJB3 with anotation is fairly simple, I give you an example as follow, and it's really simple and self-explanation:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.impl;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.annotation.Resource;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.Stateless;<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.Timeout;<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.Timer;<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.TimerService;<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.Greeting;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">@Stateless(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Greeting</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;GreetingBean&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Greeting&nbsp;{<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;@Resource<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;TimerService&nbsp;ts;<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;(non-Javadoc)<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@see&nbsp;com.ramon.expejb3.session.Greeting#greeting(java.lang.String)<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;greeting(String&nbsp;name)&nbsp;{<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;name&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ts.createTimer(</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">,&nbsp;name);<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">Create&nbsp;timer&nbsp;for&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;name&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;@Timeout<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;timeout(Timer&nbsp;timer)&nbsp;{<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(String)timer.getInfo();<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(name&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;TIME&nbsp;OUT.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">timer.cancel();</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">32</span> <span style="color: #000000;">}<br />
</span><span style="color: #008080;">33</span> </div>
&nbsp;&nbsp;&nbsp; It's the "<span style="color: #000000;">GreetingBean</span>" I introduced in part one of this series article with TimerService injected, <span style="color: #000000;">@Resource anotation inject the time service we want, it's totally free which is supported by the J2EE container that means we do not need any further steps to get the powerful schedule service. In the line 22, I crate a new timer, I think this could be more fit if it was called Task instead, there are several "createTimer" methods with different parameters, the one I used here describe the task should be execute 1 second delay and every 5 second one time in the future, the third parameter can be anything you want to pass in to the task, it can be get back use method Timer.getInfo() like line 28 does here.<br />
&nbsp;&nbsp;&nbsp; Another important anotation here is the @Timeout anotation, this anotation tell container which method will be called when timeout for this task to be executed, you can only specify one timeout method for each Bean, if there is no @Timeout anotation at all, you will get some exception like "No timeout method specified" in Jboss server. Something funny here is that you should mark the timeout method as "public", otherwise, you will get the same error as no timeout method does, I do NOT think it's necessary, because the time out method should only be called by the container, "private" signature is enought for that, with "private" signature container still has the right to access this method with java reflection, nevertheless timer service in EJB3 is still a good tools for use.<br />
</span>&nbsp;&nbsp;&nbsp; I summarize what good/bad for timer service in EJB3 as follow:<br />
&nbsp;&nbsp;&nbsp; Good news:<br />
<ul>
    <li>&nbsp;&nbsp;&nbsp; It's free, it's supported by the EJB container.</li>
    <li>&nbsp;&nbsp;&nbsp; It's portable, it's supported by the EJB container as specified in EJB3 specification.</li>
    <li>&nbsp;&nbsp;&nbsp; It's easy to use, no need to learn more.</li>
</ul>
&nbsp;&nbsp;&nbsp; Bad news:<br />
<ul>
    <li>&nbsp;&nbsp;&nbsp; The feature of EJB3 timer sevice is not as powerful as some third party timer service such as Quartz, but it's enough with EJB3 for ordinary daily job.</li>
    <li>&nbsp;&nbsp;&nbsp; There is no UI for you to monitor the timer you created.</li>
</ul>
<br /><img src ="http://www.blogjava.net/ramon/aggbug/188714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2008-03-26 13:30 <a href="http://www.blogjava.net/ramon/archive/2008/03/26/188714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A "Hello" program on EJB3 with Jboss server 4.2.2GA (PART 2) - EJB3 MDB with Jboss server. </title><link>http://www.blogjava.net/ramon/archive/2008/03/25/188546.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Tue, 25 Mar 2008 09:42:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2008/03/25/188546.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/188546.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2008/03/25/188546.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/188546.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/188546.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; MDB is the MVP(most valuable player) both in previous EJB versionand EJB3. Although coding with MDB is simple in EJB2.x, EJB3 make itmuch more friendly to you. Let's get to the ...&nbsp;&nbsp;<a href='http://www.blogjava.net/ramon/archive/2008/03/25/188546.html'>阅读全文</a><img src ="http://www.blogjava.net/ramon/aggbug/188546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2008-03-25 17:42 <a href="http://www.blogjava.net/ramon/archive/2008/03/25/188546.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>A "Hello" program on EJB3 with Jboss server 4.2.2GA.</title><link>http://www.blogjava.net/ramon/archive/2008/03/21/187713.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Fri, 21 Mar 2008 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2008/03/21/187713.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/187713.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2008/03/21/187713.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/187713.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/187713.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; Recently I did some research on EJB3 programming, find that it's really simple than programming with previous EJB version. Coding in EJB2.X or previous version is really a nightmare for most developers, maybe for this, EJB3 gives me much more impression than Spring when it first comes to me, this article is the first one of these series articles which record the new knowledge I find interesting in EJB3. <br />
<br />
&nbsp;&nbsp;&nbsp; Well, let's begin.<br />
<br />
&nbsp;&nbsp;&nbsp; EJB3 is simple with AOP and DI, there is no Home interface any more, only with Service Interface and your Service implementation you can create an typical EJB3 application. I will create a simple hello world program in this article, the service interface as follow:<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.Remote;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">@Remote<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">interface</span><span style="color: #000000;">&nbsp;Greeting&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;say&nbsp;hello&nbsp;test<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080;">@param</span><span style="color: #008000;">&nbsp;name<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;greeting(String&nbsp;name);<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">}</span></div>
<br />
&nbsp;&nbsp;&nbsp; It's really simple, especially for you that are familiar with programing with Interface, after that is the service implementation code:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.impl;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.annotation.PostConstruct;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.annotation.PreDestroy;<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.ejb.Stateless;<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.Greeting;<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">@Stateless(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Greeting</span><span style="color: #000000;">"</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;GreetingBean&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Greeting&nbsp;{<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;init()&nbsp;{<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">Init&nbsp;Greeting&nbsp;Bean.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;@PreDestroy<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;destroy()&nbsp;{<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">Garbage&nbsp;collect&nbsp;Greeting&nbsp;Bean.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;(non-Javadoc)<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@see&nbsp;com.ramon.expejb3.session.Greeting#greeting(java.lang.String)<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;greeting(String&nbsp;name)&nbsp;{<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;name&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">.</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">29</span>&nbsp;</div>
&nbsp;&nbsp;&nbsp; Still simple and very self-explanation, <span style="color: #000000;">@Stateless(name&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Greeting</span><span style="color: #000000;">"</span><span style="color: #000000;">) specify the JNDI name for client invocation. OK, that's all for our EJB jar file, no more file needed for this simple hello application. Execute your ANT script make a jar for it, part of ANT script may look like:<br />
</span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">target&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="prepareexpejb3"</span><span style="color: #ff0000;">&nbsp;description</span><span style="color: #0000ff;">="Create&nbsp;exp_jsf&nbsp;distribution."</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">mkdir&nbsp;</span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${dist.dir}"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">mkdir&nbsp;</span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.dir}"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">mkdir&nbsp;</span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.core.dir}"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">target</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;=================================&nbsp;<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target:&nbsp;Compile&nbsp;expejb3&nbsp;classes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=================================&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">target&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="compileexpejb3"</span><span style="color: #ff0000;">&nbsp;depends</span><span style="color: #0000ff;">="cleanDist,prepareexpejb3"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">javac&nbsp;</span><span style="color: #ff0000;">destdir</span><span style="color: #0000ff;">="${build.core.dir}"</span><span style="color: #ff0000;">&nbsp;debug</span><span style="color: #0000ff;">="yes"</span><span style="color: #ff0000;">&nbsp;deprecation</span><span style="color: #0000ff;">="on"</span><span style="color: #ff0000;">&nbsp;srcdir</span><span style="color: #0000ff;">="${src.dir}"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">include&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="${core.src.dir}/**"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">classpath&nbsp;</span><span style="color: #ff0000;">refid</span><span style="color: #0000ff;">="expejb3.classpath"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">javac</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">target</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;=================================&nbsp;<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;target:&nbsp;Create&nbsp;EJB3&nbsp;jar<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=================================&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">target&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="createEJB3Jar"</span><span style="color: #ff0000;">&nbsp;depends</span><span style="color: #0000ff;">="compileexpejb3"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">jar&nbsp;</span><span style="color: #ff0000;">jarfile</span><span style="color: #0000ff;">="${dist.dir}/${expejb3.core.name}.jar"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">fileset&nbsp;</span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.core.dir}"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">fileset</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">jar</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">target</span><span style="color: #0000ff;">&gt;</span></div>
<br />
<span style="color: #000000;">&nbsp;&nbsp;&nbsp; Put the EJB jar into jboss server </span>server\default\deploy, you should see some log from jboss console like:<br />
&nbsp;&nbsp;&nbsp;
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">10</span><span style="color: #000000;">:</span><span style="color: #000000;">59</span><span style="color: #000000;">:</span><span style="color: #000000;">27</span><span style="color: #000000;">,</span><span style="color: #000000;">036</span><span style="color: #000000;">&nbsp;INFO&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold;">[</span><span style="color: #800000;">JmxKernelAbstraction</span><span style="color: #800000; font-weight: bold;">]</span><span style="color: #000000;">&nbsp;creating&nbsp;wrapper&nbsp;delegate&nbsp;for:&nbsp;org.jboss.ejb3.stateless.St<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">atelessContainer<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">10</span><span style="color: #000000;">:</span><span style="color: #000000;">59</span><span style="color: #000000;">:</span><span style="color: #000000;">27</span><span style="color: #000000;">,</span><span style="color: #000000;">051</span><span style="color: #000000;">&nbsp;INFO&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold;">[</span><span style="color: #800000;">JmxKernelAbstraction</span><span style="color: #800000; font-weight: bold;">]</span><span style="color: #000000;">&nbsp;installing&nbsp;MBean:&nbsp;jboss.j2ee:jar</span><span style="color: #000000;">=</span><span style="color: #000000;">expejb3core.jar</span><span style="color: #000000;">,</span><span style="color: #000000;">name</span><span style="color: #000000;">=</span><span style="color: #000000;">Gree<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">ting</span><span style="color: #000000;">,</span><span style="color: #000000;">service</span><span style="color: #000000;">=</span><span style="color: #000000;">EJB3&nbsp;with&nbsp;dependencies:<br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">10</span><span style="color: #000000;">:</span><span style="color: #000000;">59</span><span style="color: #000000;">:</span><span style="color: #000000;">27</span><span style="color: #000000;">,</span><span style="color: #000000;">208</span><span style="color: #000000;">&nbsp;INFO&nbsp;&nbsp;</span><span style="color: #800000; font-weight: bold;">[</span><span style="color: #800000;">EJBContainer</span><span style="color: #800000; font-weight: bold;">]</span><span style="color: #000000;">&nbsp;STARTED&nbsp;EJB:&nbsp;com.ramon.expejb3.session.impl.GreetingBean&nbsp;ejbName:<br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #000000;">Greeting</span></div>
&nbsp;&nbsp;&nbsp; Which mean that you have successfully deploy your EJB into jboss server, create a client code to invoke your EJB service:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.util.Properties;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.naming.Context;<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.naming.InitialContext;<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;junit.framework.TestCase;<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;ExpEJB3BaseTestCase&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;TestCase&nbsp;{<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Properties&nbsp;properties&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Context&nbsp;context;<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;setUp()&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;Exception&nbsp;{<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">.setUp();<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Properties();<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties.put(</span><span style="color: #000000;">"</span><span style="color: #000000;">java.naming.factory.initial</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">org.jnp.interfaces.NamingContextFactory</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties.put(</span><span style="color: #000000;">"</span><span style="color: #000000;">java.naming.factory.url.pkgs</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">org.jboss.naming:org.jnp.interfaces</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties.put(</span><span style="color: #000000;">"</span><span style="color: #000000;">java.naming.provider.url</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">localhost:1099</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;InitialContext(properties);<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;tearDown()&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;Exception&nbsp;{<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">.tearDown();<br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properties&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;Context&nbsp;getContext()&nbsp;{<br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;context;<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;setContext(Context&nbsp;context)&nbsp;{<br />
</span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.context&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;context;<br />
</span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">40</span>&nbsp;</div>
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.impl;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.naming.NamingException;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.ExpEJB3BaseTestCase;<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.ramon.expejb3.session.Greeting;<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;GreetingBeanTest&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;ExpEJB3BaseTestCase&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;testGreeting()&nbsp;{<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greeting&nbsp;greetService&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(Greeting)</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.getContext().lookup(</span><span style="color: #000000;">"</span><span style="color: #000000;">Greeting/remote</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;greetService.greeting(</span><span style="color: #000000;">"</span><span style="color: #000000;">Ramon</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(NamingException&nbsp;e)&nbsp;{<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">21</span>&nbsp;</div>
&nbsp;&nbsp;&nbsp; That's really simple, right? What you should note is that you must include following jars into your classpath when you run this clien test case, otherwise you will get the annoying classNotFound Exception:<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">concurrent.jar<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">jboss-aop-jdk50.jar<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">jboss-aspect-library-jdk50.jar<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">jboss-common.jar<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">jboss-ejb3.jar<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">jboss-ejb3-client.jar<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">jboss-remoting.jar<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">jbossx-client.jar<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">jboss-transaction-client.jar<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">jnp-client.jar</span></div>
<br />
<br />
&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp; <br /><img src ="http://www.blogjava.net/ramon/aggbug/187713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2008-03-21 16:02 <a href="http://www.blogjava.net/ramon/archive/2008/03/21/187713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编码字符集与Java －Java World乱码问题根源之所在。</title><link>http://www.blogjava.net/ramon/archive/2006/09/24/71505.html</link><dc:creator>Find it, try it, experience it</dc:creator><author>Find it, try it, experience it</author><pubDate>Sat, 23 Sep 2006 16:08:00 GMT</pubDate><guid>http://www.blogjava.net/ramon/archive/2006/09/24/71505.html</guid><wfw:comment>http://www.blogjava.net/ramon/comments/71505.html</wfw:comment><comments>http://www.blogjava.net/ramon/archive/2006/09/24/71505.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/ramon/comments/commentRss/71505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ramon/services/trackbacks/71505.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了编码字符集的概念以及Java与编码字符集之间的关系，文章的内容来自于本人工作过程中的经验积累以及网络中的相关文章介绍，如果文章中有任何纰漏欢迎读者指正，让我们共同讨论学习J1．      字符字符是抽象的最小文本单位。它没有固定的形状（可能是一个字形），而且没有值。“A”是一个字符，“€”（德国、法国和许多其他欧洲国家通用货币的标志）也是一个字符。“中”“国”这是两个汉字字符。字符仅仅代...&nbsp;&nbsp;<a href='http://www.blogjava.net/ramon/archive/2006/09/24/71505.html'>阅读全文</a><img src ="http://www.blogjava.net/ramon/aggbug/71505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ramon/" target="_blank">Find it, try it, experience it</a> 2006-09-24 00:08 <a href="http://www.blogjava.net/ramon/archive/2006/09/24/71505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>