??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区区二区,精品电影一区,欧美精品一区二区久久久http://www.aygfsteel.com/wiflish/Loving Life! Loving Coding!zh-cnSat, 17 May 2025 08:11:06 GMTSat, 17 May 2025 08:11:06 GMT60【{】AOP实现Q三Q——Spring 2.0中Pointcut的定?/title><link>http://www.aygfsteel.com/wiflish/archive/2008/12/30/249261.html</link><dc:creator>想飞的鱼</dc:creator><author>想飞的鱼</author><pubDate>Tue, 30 Dec 2008 15:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/wiflish/archive/2008/12/30/249261.html</guid><wfw:comment>http://www.aygfsteel.com/wiflish/comments/249261.html</wfw:comment><comments>http://www.aygfsteel.com/wiflish/archive/2008/12/30/249261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wiflish/comments/commentRss/249261.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wiflish/services/trackbacks/249261.html</trackback:ping><description><![CDATA[ <h3 class="" title=""> <a >【{】AOP实现Q三Q—?span class="hilite1">Spring</span> 2.0?span class="hilite2">Pointcut</span>的定?/a> </h3> <strong>关键? <span id="wmqeeuq" class="hilite2">Pointcut</span>的定?/strong> <br /> <span style="font-size: 9pt; font-family: 宋体;"> ?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite1">Spring</span> 2.0</span> <span style="font-size: 9pt; font-family: 宋体;">中,</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">的定义包括两个部分:</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">表示?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(expression)</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">{֐</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(signature)</span> <span style="font-size: 9pt; font-family: 宋体;">。让我们先看?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">execution</span> <span style="font-size: 9pt; font-family: 宋体;">表示式的格式Q?br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span><span>execution(modifier-pattern? </span></span></li><li id="wmqeeuq" class=""><span>          ret-type-pattern </span></li><li id="wmqeeuq" class="alt"><span>          declaring-type-pattern? </span></li><li id="wmqeeuq" class=""><span>          name-pattern(param-pattern) </span></li><li id="wmqeeuq" class="alt"><span>          <span id="wmqeeuq" class="keyword">throws</span><span>-pattern?) </span></span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 括号中各?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">pattern</span> <span style="font-size: 9pt; font-family: 宋体;">分别表示修饰W匹配(</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">modifier-pattern?</span> <span style="font-size: 9pt; font-family: 宋体;">Q、返回值匹配(</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">ret-type-pattern</span> <span style="font-size: 9pt; font-family: 宋体;">Q、类路径匚wQ?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">declaring-type-pattern?</span> <span style="font-size: 9pt; font-family: 宋体;">Q、方法名匚wQ?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">name-pattern</span> <span style="font-size: 9pt; font-family: 宋体;">Q、参数匹配(</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(param-pattern)</span> <span style="font-size: 9pt; font-family: 宋体;">Q、异常类型匹配(</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">throws-pattern?</span> <span style="font-size: 9pt; font-family: 宋体;">Q,其中后面跟着?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">?</span> <span style="font-size: 9pt; font-family: 宋体;">”的是可选项?br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 在各?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">pattern</span> <span style="font-size: 9pt; font-family: 宋体;">中可以用?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">*</span> <span style="font-size: 9pt; font-family: 宋体;">”来表示匚w所有。在</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(param-pattern)</span> <span style="font-size: 9pt; font-family: 宋体;">中,可以指定具体的参数类型,多个参数间用?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">,</span> <span style="font-size: 9pt; font-family: 宋体;">”隔开Q各个也可以用?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">*</span> <span style="font-size: 9pt; font-family: 宋体;">”来表示匚wLcd的参敎ͼ?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(String)</span> <span style="font-size: 9pt; font-family: 宋体;">表示匚w一?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">String</span> <span style="font-size: 9pt; font-family: 宋体;">参数的方法;</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(*,String)</span> <span style="font-size: 9pt; font-family: 宋体;">表示匚w有两个参数的ҎQ第一个参数可以是LcdQ而第二个参数?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">String</span> <span style="font-size: 9pt; font-family: 宋体;">cdQ可以用</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">(..)</span> <span style="font-size: 9pt; font-family: 宋体;">表示零个或多个Q意参数?br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 现在来看看几个例子:<br /></span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">1</span> <span style="font-size: 9pt; font-family: 宋体;">Q?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">execution(* *(..))<br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 表示匚w所有方?/span> <br /> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> 2</span> <span style="font-size: 9pt; font-family: 宋体;">Q?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">execution(public * com. savage.service.UserService.*(..))</span> <br /> <span style="font-size: 9pt; font-family: 宋体;"> 表示匚w</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">com.savage.server.UserService</span> <span style="font-size: 9pt; font-family: 宋体;">中所有的公有Ҏ<br /></span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> 3</span> <span style="font-size: 9pt; font-family: 宋体;">Q?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">execution(* com.savage.server..*.*(..))<br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 表示匚w</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">com.savage.server</span> <span style="font-size: 9pt; font-family: 宋体;">包及其子包下的所有方?br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 除了</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">execution</span> <span style="font-size: 9pt; font-family: 宋体;">表示式外Q还?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">within</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">this</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">target</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">args</span> <span style="font-size: 9pt; font-family: 宋体;">{?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">表示式?/span> <span style="font-size: 9pt; font-family: 宋体;">一?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">定义?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">表示式和</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">{֐l成Q例如:<br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span style="font-size: 9pt; font-family: 宋体;"><span><span id="wmqeeuq" class="comment">//<span id="wmqeeuq" class="hilite2">Pointcut</span>表示?/span></span></span><span><span id="wmqeeuq" class="annotation"></span></span></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* com.savage.aop.MessageSender.*(..))"</span><span>)</span></span></li><li id="wmqeeuq" class="alt"><span style="font-size: 9pt; font-family: 宋体;"><span><span id="wmqeeuq" class="comment">//Point{֐</span></span></span><span><span></span><span id="wmqeeuq" class="comment"></span><span></span></span></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="keyword">private</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> log(){}                             </span><span id="wmqeeuq" class="comment"></span><span></span></span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 然后要用所定义?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">Ӟ可以指定</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">{֐Q如<br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="annotation">@Before</span><span>(</span><span id="wmqeeuq" class="string">"og()"</span><span>) </span></span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;">上面的定义等同与Q?/span> <br /> <span style="font-size: 9pt; font-family: 宋体;"> <div id="wmqeeuq" class="code_title">java 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <ol class="dp-j" start="1"> <li id="wmqeeuq" class="alt"> <span> <span id="wmqeeuq" class="annotation">@Before</span> <span>(</span> <span id="wmqeeuq" class="string">"execution(* com.savage.aop.MessageSender.*(..))"</span> <span>) </span> </span> </li> </ol> </div> <br /> </span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">定义Ӟq可以?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">&&</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">||</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">!</span> <span style="font-size: 9pt; font-family: 宋体;">q算Q如Q?br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* com.savage.aop.MessageSender.*(..))"</span><span>) </span></span></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="keyword">private</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> logSender(){} </span></span></li><li id="wmqeeuq" class="alt"><span></span><br /></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* com.savage.aop.MessageReceiver.*(..))"</span><span>) </span></span></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">private</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> logReceiver(){} </span></span></li><li id="wmqeeuq" class=""><span></span><br /></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"logSender() || logReceiver()"</span><span>) </span></span></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="keyword">private</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> logMessage(){} </span></span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;"> q个例子中,</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">logMessage()</span> <span style="font-size: 9pt; font-family: 宋体;">匹配Q?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">MessageSender</span> <span style="font-size: 9pt; font-family: 宋体;">?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">MessageReceiver</span> <span style="font-size: 9pt; font-family: 宋体;">中的MҎ?br /></span> <span style="font-size: 9pt; font-family: 宋体;">q可以将一些公用的</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">攑ֈ一个类中,以供整个应用E序使用Q如Q?br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">package</span><span> com.savage.aop; </span></span></li><li id="wmqeeuq" class=""><span></span><br /></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">import</span><span> org.aspectj.lang.annotation.*; </span></span></li><li id="wmqeeuq" class=""><span></span><br /></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">class</span><span> Pointcuts { </span></span></li><li id="wmqeeuq" class=""><span>   <span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* *Message(..))"</span><span>) </span></span></li><li id="wmqeeuq" class="alt"><span>   <span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> logMessage(){} </span></span></li><li id="wmqeeuq" class=""><span></span><br /></li><li id="wmqeeuq" class="alt"><span>   <span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* *Attachment(..))"</span><span>) </span></span></li><li id="wmqeeuq" class=""><span>   <span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> logAttachment(){} </span></span></li><li id="wmqeeuq" class="alt"><span></span><br /></li><li id="wmqeeuq" class=""><span>   <span id="wmqeeuq" class="annotation">@<span id="wmqeeuq" class="hilite2">Pointcut</span></span><span>(</span><span id="wmqeeuq" class="string">"execution(* *Service.*(..))"</span><span>) </span></span></li><li id="wmqeeuq" class="alt"><span>   <span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> auth(){} </span></span></li><li id="wmqeeuq" class=""><span>} </span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;">在用这?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">Ӟ指定完整的类名加?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">{֐可以了Q如Q?br /><div id="wmqeeuq" class="code_title">java 代码</div><div id="wmqeeuq" class="dp-highlighter"><ol class="dp-j" start="1"><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">package</span><span> com.savage.aop; </span></span></li><li id="wmqeeuq" class=""><span></span><br /></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">import</span><span> org.aspectj.lang.JoinPoint; </span></span></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="keyword">import</span><span> org.aspectj.lang.annotation.*; </span></span></li><li id="wmqeeuq" class="alt"><span></span><br /></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="annotation">@Aspect</span><span></span></span></li><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">class</span><span> LogBeforeAdvice { </span></span></li><li id="wmqeeuq" class=""><span>   <span id="wmqeeuq" class="annotation">@Before</span><span>(</span><span id="wmqeeuq" class="string">"com.sagage.aop.Pointcuts.logMessage()"</span><span>) </span></span></li><li id="wmqeeuq" class="alt"><span>   <span id="wmqeeuq" class="keyword">public</span><span></span><span id="wmqeeuq" class="keyword">void</span><span> before(JoinPoint joinPoint) { </span></span></li><li id="wmqeeuq" class=""><span>      System.out.println(<span id="wmqeeuq" class="string">"Logging before "</span><span> + joinPoint.getSignature().getName()); </span></span></li><li id="wmqeeuq" class="alt"><span>   } </span></li><li id="wmqeeuq" class=""><span>} </span></li></ol></div><br /></span> <span style="font-size: 9pt; font-family: 宋体;"> 当基?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">XML Sechma</span> <span style="font-size: 9pt; font-family: 宋体;">实现</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US">Advice</span> <span style="font-size: 9pt; font-family: 宋体;">Ӟ如果</span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">需要被重用Q可以?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <aop:pointcut> </aop:pointcut> </span> <span style="font-size: 9pt; font-family: 宋体;">来声?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">Q然后在需要用这?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">Pointcut</span> </span> <span style="font-size: 9pt; font-family: 宋体;">的地方,?/span> <span new="" times="" roman="" style="font-size: 9pt;" lang="EN-US"> <span id="wmqeeuq" class="hilite2">pointcut</span>-ref</span> <span style="font-size: 9pt; font-family: 宋体;">引用p了,如:<br /><div id="wmqeeuq" class="code_title">xml 代码</div><div id="wmqeeuq" class="dp-highlighter"><div id="wmqeeuq" class="bar"> </div><ol class="dp-xml" start="1"><li id="wmqeeuq" class="alt"><span><span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">aop:config</span><span id="wmqeeuq" class="tag">></span><span>  </span></span></li><li id="wmqeeuq" class=""><span>    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">aop:<span id="wmqeeuq" class="hilite2">pointcut</span></span><span> </span><span id="wmqeeuq" class="attribute">id</span><span>=</span><span id="wmqeeuq" class="attribute-value">"log"</span><span>   </span></span></li><li id="wmqeeuq" class="alt"><span>          <span id="wmqeeuq" class="attribute">expression</span><span>=</span><span id="wmqeeuq" class="attribute-value">"execution(* com.savage.simplespring.bean.MessageSender.*(..))"</span><span id="wmqeeuq" class="tag">/></span><span>  </span></span></li><li id="wmqeeuq" class=""><span>    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">aop:aspect</span><span> </span><span id="wmqeeuq" class="attribute">id</span><span>=</span><span id="wmqeeuq" class="attribute-value">"logging"</span><span> </span><span id="wmqeeuq" class="attribute">ref</span><span>=</span><span id="wmqeeuq" class="attribute-value">"logBeforeAdvice"</span><span id="wmqeeuq" class="tag">></span><span>  </span></span></li><li id="wmqeeuq" class="alt"><span>        <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">aop:before</span><span> </span><span id="wmqeeuq" class="attribute"><span id="wmqeeuq" class="hilite2">pointcut</span>-ref</span><span>=</span><span id="wmqeeuq" class="attribute-value">"log"</span><span> </span><span id="wmqeeuq" class="attribute">method</span><span>=</span><span id="wmqeeuq" class="attribute-value">"before"</span><span id="wmqeeuq" class="tag">/></span><span>  </span></span></li><li id="wmqeeuq" class=""><span>        <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">aop:after-returning</span><span> </span><span id="wmqeeuq" class="attribute"><span id="wmqeeuq" class="hilite2">pointcut</span>-ref</span><span>=</span><span id="wmqeeuq" class="attribute-value">"log"</span><span> </span><span id="wmqeeuq" class="attribute">method</span><span>=</span><span id="wmqeeuq" class="attribute-value">"afterReturning"</span><span id="wmqeeuq" class="tag">/></span><span>  </span></span></li><li id="wmqeeuq" class="alt"><span>    <span id="wmqeeuq" class="tag"></</span><span id="wmqeeuq" class="tag-name">aop:aspect</span><span id="wmqeeuq" class="tag">></span><span>  </span></span></li><li id="wmqeeuq" class=""><span><span id="wmqeeuq" class="tag"></</span><span id="wmqeeuq" class="tag-name">aop:config</span><span id="wmqeeuq" class="tag">></span><span>  </span></span></li></ol></div></span> <span style="font-size: 9pt; font-family: 宋体;"> <br /> </span> <img src ="http://www.aygfsteel.com/wiflish/aggbug/249261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wiflish/" target="_blank">想飞的鱼</a> 2008-12-30 23:15 <a href="http://www.aygfsteel.com/wiflish/archive/2008/12/30/249261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jbpm的eclipse的流E设计器插gdesigner中的gpd.xml文gq问题?/title><link>http://www.aygfsteel.com/wiflish/archive/2008/10/13/234096.html</link><dc:creator>想飞的鱼</dc:creator><author>想飞的鱼</author><pubDate>Mon, 13 Oct 2008 11:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/wiflish/archive/2008/10/13/234096.html</guid><wfw:comment>http://www.aygfsteel.com/wiflish/comments/234096.html</wfw:comment><comments>http://www.aygfsteel.com/wiflish/archive/2008/10/13/234096.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wiflish/comments/commentRss/234096.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wiflish/services/trackbacks/234096.html</trackback:ping><description><![CDATA[jbpm的eclipse的流E设计器插gdesigner中,gpd.xml文gq?br /><br />参考:http://brighter.javaeye.com/blog/242654<br /><br /><div id="wmqeeuq" class="blog_content"><p>[jbpm]解决JBPM囑Ş程设计器的<span id="wmqeeuq" class="hilite1">gpd</span>.xml文g的中?span class="hilite2">q</span>问题2008-05-31 20:51JBPM囑Ş程设计器是eclipse插gQ最q我的电脑上用它设计出的程只要是中文,那么׃?span class="hilite1">gpd</span>.xml是显C是<span id="wmqeeuq" class="hilite2">q</span>?br />l过验与搜烦Q确认此问题计器的问题?br />环境Qeclipse 3.3.2 jee版的Q字W集讄成utf-8Q设计器jpdl_3.1.0.SP1?/p><p>解决办法Qorg.jbpm.gd.jpdl_3.1.0.SP1里面有个文gui.jarQ反~译corg.jbpm.gd.common.editor.AbstractContentProvider.classQ修改两个地斏V?br />1?br />扑ֈQnew ByteArrayInputStream(toNotationInfoXml(rootContainer).getBytes()), true, true, null);Q?br />ҎQnew ByteArrayInputStream(toNotationInfoXml(rootContainer).getBytes("UTF-8")), true, true, null);<br />2?br />扑ֈQInputStreamReader inputstreamreader = new InputStreamReader(ifile.getContents());<br />Element notationInfo = new SAXReader().read(reader).getRootElement();Q?br />ҎInputStreamReader inputstreamreader = new InputStreamReader(ifile.getContents(),"UTF-8");<br />Element notationInfo = new SAXReader().read(reader).getRootElement();</p><p>重新~译再打入ui.jar包就OK了,说白了就是设|编码UTF-8OK了?/p><p>说明Q些c需引入很多eclipse?jarQ仔l在eclipse里找Q比较麻烦,哈哈。另Q如果你q没解决Q留下你的EmailQ我有时间就会发改后的ui.jar包给你?/p><p>再补充一下,每一炚w有两个地方要改,也就是说一p?个地斏V?/p><p>修改ҎQ?/p><p>使用eclipseQ新Z个工E。。然后将相关依赖包加入到工程的类路径中(如果不确定是哪个包,将eclipse的plugins目录下的所有jar加入到工E的c\径下Q?/p><p><br /></p><p>提供一个已l修改编译好?a target="_blank" href="/Files/wiflish/ui.rar">ui.jar</a>包下?br /></p><p></p></div><br /><img src ="http://www.aygfsteel.com/wiflish/aggbug/234096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wiflish/" target="_blank">想飞的鱼</a> 2008-10-13 19:15 <a href="http://www.aygfsteel.com/wiflish/archive/2008/10/13/234096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>weblogic与sitemeshq问题http://www.aygfsteel.com/wiflish/archive/2008/10/08/233046.html想飞的鱼想飞的鱼Wed, 08 Oct 2008 00:49:00 GMThttp://www.aygfsteel.com/wiflish/archive/2008/10/08/233046.htmlhttp://www.aygfsteel.com/wiflish/comments/233046.htmlhttp://www.aygfsteel.com/wiflish/archive/2008/10/08/233046.html#Feedback3http://www.aygfsteel.com/wiflish/comments/commentRss/233046.htmlhttp://www.aygfsteel.com/wiflish/services/trackbacks/233046.html
问题原因Qsitemesh在装饰页面时Q如果response的contentType为nullQ则使用java虚拟机属性?file.encoding"Q而该g操作pȝ相关Q在windowspȝ下,该?GBK.׃面本n是utf-8~码的,l过sitemesh装饰后,使用GBK~码转行Q生ؕ码?br />
问题解决Q在应用启动(如web.xml文g中配|listenerQ将下面代码攑օlistener)Ӟ将file.encoding属性设|ؓUTF-8~码Q这样就不会出现sitemesh装饰后的q问题?br />
讄代码Q?br />Properties prop = System.getProperties();
prop.put("file.encoding", "utf-8");



想飞的鱼 2008-10-08 08:49 发表评论
]]>
【{】Tomcat 的JVM 内存溢出问题的解?/title><link>http://www.aygfsteel.com/wiflish/archive/2008/09/26/231286.html</link><dc:creator>想飞的鱼</dc:creator><author>想飞的鱼</author><pubDate>Fri, 26 Sep 2008 05:57:00 GMT</pubDate><guid>http://www.aygfsteel.com/wiflish/archive/2008/09/26/231286.html</guid><wfw:comment>http://www.aygfsteel.com/wiflish/comments/231286.html</wfw:comment><comments>http://www.aygfsteel.com/wiflish/archive/2008/09/26/231286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wiflish/comments/commentRss/231286.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wiflish/services/trackbacks/231286.html</trackback:ping><description><![CDATA[关于内存溢出问题转帖Q备查?br />【{自】http://ahut9923.javaeye.com/blog/236859<br /><br />1、首先是Qjava.lang.OutOfMemoryError: Java heap space <br /><br />解释Q? <br /><br />Heap size 讄 <br /><br />JVM堆的讄是指javaE序q行q程中JVM可以调配使用的内存空间的讄.JVM在启动的时候会自动讄Heap size的|其初始空??Xms)是物理内存的1/64Q最大空?-Xmx)是物理内存的1/4。可以利用JVM提供?Xmn -Xms -Xmx{选项可进行设|。Heap size 的大是Young Generation 和Tenured Generaion 之和?<br />提示Q在JVM中如?8Q的旉是用于GC且可用的Heap size 不2Q的时候将抛出此异怿息? <br />提示QHeap Size 最大不要超q可用物理内存的80Q,一般的要将-Xms?Xmx选项讄为相同,?Xmn?/4?Xmx倹{? <br /><br />解决ҎQ? <br /><br />手动讄Heap size <br />修改TOMCAT_HOME/bin/catalina.batQ在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行Q? <br />Java代码 <br />set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m   <br /><br />set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m <br /><br />或修改catalina.sh <br />在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行Q? <br />JAVA_OPTS="$JAVA_OPTS -server -Xms800m -Xmx800m -XX:MaxNewSize=256m" <br /><br />2、其ơ是Qjava.lang.OutOfMemoryError: PermGen space <br /><br />原因Q? <br /><br />PermGen space的全U是Permanent Generation space,是指内存的永久保存区域,q块内存主要是被JVM存放Class和Meta信息?Class在被Loader时就会被攑ֈPermGen space中,它和存放cd?Instance)的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的应用中有很CLASS的话,很可能出现PermGen space错误Q这U错误常见在web服务器对JSPq行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大超q了jvm默认的大?4M)那么׃产生此错误信息了?<br /><br />解决ҎQ? <br /><br />1. 手动讄MaxPermSize大小 <br />修改TOMCAT_HOME/bin/catalina.batQLinux下ؓcatalina.shQ,在Java代码 <br />“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行Q  ? <br />set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m   <br /><br />“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行Q? <br />set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m <br /><br />catalina.sh下ؓQ? <br />Java代码 <br />JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"  <br /><br />JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m" <br /><br /><br />另外看到了另外一个帖子,觉得挺好Q摘抄如下: <br />分析java.lang.OutOfMemoryError: PermGen space <br /><br />发现很多人把问题归因于: spring,hibernate,tomcatQ因Z们动态生类,DJVM中的permanent heap溢出 。然后解x法众说纷U,有h说升U? tomcat版本到最新甚臛_脆不用tomcat。还有h怀疑spring的问题,在spring论坛上讨论很Ȁ烈,因ؓspring在AOP时? CBLIB会动态生很多类?<br /><br />但问题是Z么这些王牌的开源会出现同一个问题呢Q那么是不是更基的原因呢Qtomcat在Q&A很隐晦的回答了这一点,我们知道q个问题Q但q个问题是由一个更基础的问题生? <br /><br />于是有hҎ基础的JVM做了查,发现了问题的关键。原来SUN 的JVM把内存分了不同的区,其中一个就是permenter区用来存攄得非常多的类和类描述。本来SUN设计的时候认个区域在JVM启动的时候就 固定了,但他没有惛_现在动态会用得q么q泛。而且q个区域有特D的垃圾收回机制Q现在的问题是动态加载类到这个区域后QgcҎ没办法回Ӟ <br /><br /><br />对于以上两个问题Q我的处理是Q? <br /><br />在catalina.bat的第一行增加: <br />Java代码 <br />set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m   <br /><br />set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m <br /><br />在catalina.sh的第一行增加: <br />Java代码 <br />JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m <br /><br />备注Q?http://www.jbsolutions.net.in/out_of_memory_issue.html<br /><br /><img src ="http://www.aygfsteel.com/wiflish/aggbug/231286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wiflish/" target="_blank">想飞的鱼</a> 2008-09-26 13:57 <a href="http://www.aygfsteel.com/wiflish/archive/2008/09/26/231286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Oracle XDB Http/Ftp服务默认端口与Tomcat{默认端口冲H解x?/title><link>http://www.aygfsteel.com/wiflish/archive/2008/09/25/231027.html</link><dc:creator>想飞的鱼</dc:creator><author>想飞的鱼</author><pubDate>Thu, 25 Sep 2008 00:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/wiflish/archive/2008/09/25/231027.html</guid><wfw:comment>http://www.aygfsteel.com/wiflish/comments/231027.html</wfw:comment><comments>http://www.aygfsteel.com/wiflish/archive/2008/09/25/231027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wiflish/comments/commentRss/231027.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wiflish/services/trackbacks/231027.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">【原文地址】http://blog.csdn.net/stevene/archive/2006/01/10/575194.aspx</span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;"> <br /> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">安装</span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">后,启动</span> <span lang="EN-US"> <font face="Times New Roman">tomcat</font> </span> <span style="font-family: 宋体;">Ӟ会出玎ͼ</span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">2005-10-12 13:46:57 org.apache.commons.modeler.Registry loadRegistry</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">信息</span> <span lang="EN-US"> <font face="Times New Roman">: Loading registry information</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">2005-10-12 13:46:57 org.apache.commons.modeler.Registry getRegistry</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">信息</span> <span lang="EN-US"> <font face="Times New Roman">: Creating new Registry instance</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">2005-10-12 13:46:57 org.apache.commons.modeler.Registry getServer</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">信息</span> <span lang="EN-US"> <font face="Times New Roman">: Creating MBeanServer</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">2005-10-12 13:46:58 org.apache.coyote.http11.Http11Protocol init</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">严重</span> <span lang="EN-US"> <font face="Times New Roman">: Error initializing endpoint</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">java.net.BindException: Address already in use: JVM_Bind:8080</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">       </span>at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:270)</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <span style=""> <font face="Times New Roman">    </font> </span> </span> <span style="font-family: 宋体;">…?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">冲突提示?/font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">在浏览器中访?/span> <span lang="EN-US"> <a > <font face="Times New Roman">http://127.0.0.1:8080</font> </a> </span> <span style="font-family: 宋体;">时出?/span> <span lang="EN-US"> <font face="Times New Roman">XDB</font> </span> <span style="font-family: 宋体;">dH口而不?/span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">Welcome</font> </span> <span style="font-family: 宋体;">面Q如下:</span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;" align="center"> <font size="3"> <span style="font-family: 宋体;"> <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/stevene/image001.jpg" width="326" height="282" /> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;" align="center"> <font size="3"> <span style="font-family: 宋体;"> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;"> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;"> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt; text-align: center;" align="center"> <span lang="EN-US"> <font size="3"> <shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> </shapetype> <stroke joinstyle="miter"> </stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"> </f> <f eqn="sum @0 1 0"> </f> <f eqn="sum 0 0 @1"> </f> <f eqn="prod @2 1 2"> </f> <f eqn="prod @3 21600 pixelWidth"> </f> <f eqn="prod @3 21600 pixelHeight"> </f> <f eqn="sum @0 0 1"> </f> <f eqn="prod @6 1 2"> </f> <f eqn="prod @7 21600 pixelWidth"> </f> <f eqn="sum @8 21600 0"> </f> <f eqn="prod @7 21600 pixelHeight"> </f> <f eqn="sum @10 21600 0"> </f> <path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"> </path> <lock v:ext="edit" aspectratio="t"> </lock> <shape id="_x0000_i1025" style="width: 180pt; height: 155.25pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:title="loginxdb"> </imagedata> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <font size="3"> <span style="font-family: 宋体;">q入命o行,q行 </span> <span lang="EN-US"> <font face="Times New Roman">netstat –a</font> </span> <span style="font-family: 宋体;">命o查看端口Q?/span> <span lang="EN-US"> <font face="Times New Roman">8080</font> </span> <span style="font-family: 宋体;">已被占用Q如下)Q什么原因呢Q?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <font size="3"> <span style="font-family: 宋体;"> <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/stevene/image003.jpg" width="585" height="311" /> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <span lang="EN-US"> <shape id="_x0000_i1026" style="width: 414.75pt; height: 220.5pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg" o:title="netstat"> </imagedata> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">q是因ؓq台机器上已l安装了</span> <span lang="EN-US"> <font face="Times New Roman">Oracle 9i</font> </span> <span style="font-family: 宋体;">数据库。从</span> <span lang="EN-US"> <font face="Times New Roman">Oracle 9i</font> </span> <span style="font-family: 宋体;">开始,创徏数据库时默认包含?/span> <span lang="EN-US"> <font face="Times New Roman">XDB</font> </span> <span style="font-family: 宋体;">Ҏ?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle9i</font> </span> <span style="font-family: 宋体;">支持</span> <span lang="EN-US"> <font face="Times New Roman">XML</font> </span> <span style="font-family: 宋体;">数据库,</span> <span lang="EN-US"> <font face="Times New Roman">8080</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle XDB</font> </span> <span style="font-family: 宋体;">Q?/span> <span lang="EN-US"> <font face="Times New Roman">XML</font> </span> <span style="font-family: 宋体;">数据库)</span> <span lang="EN-US"> <font face="Times New Roman">Http</font> </span> <span style="font-family: 宋体;">服务的默认端口,</span> <span lang="EN-US"> <font face="Times New Roman">Oracle XDB</font> </span> <span style="font-family: 宋体;">q有一?/span> <span lang="EN-US"> <font face="Times New Roman">Ftp</font> </span> <span style="font-family: 宋体;">服务Q默认端口是</span> <span lang="EN-US"> <font face="Times New Roman">2100</font> </span> <span style="font-family: 宋体;">。?/span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">Jboss</font> </span> <span style="font-family: 宋体;">{的默认端口也是</span> <span lang="EN-US"> <font face="Times New Roman">8080</font> </span> <span style="font-family: 宋体;">Q所以出现冲H,另外从网上查询得?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle XDB</font> </span> <span style="font-family: 宋体;">的端口设|不在配|文件中Q而是在数据库里?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">那么怎么解决呢?q里介绍四种解决冲突的方式,都比较简单:</font> </span> </p> <h3 style="margin: 13pt 0cm;"> <font size="5"> <span style="font-family: 宋体;">一、修?/span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">端口</span> </font> </h3> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"> <font size="3"> <span style="font-family: 宋体;">修改</span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">端口比较ҎQ在</span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">安装目录</span> <span lang="EN-US"> <font face="Times New Roman">conf</font> </span> <span style="font-family: 宋体;">下的</span> <span lang="EN-US"> <font face="Times New Roman">server.xml</font> </span> <span style="font-family: 宋体;">文g中,扑ֈ</span> <span lang="EN-US"> <font face="Times New Roman"><Connector className="org.apache.coyote.tomcat4.CoyoteConnector"</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">               </span>port="8080" minProcessors="5" maxProcessors="75"</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">               </span>enableLookups="true" redirectPort="8443"</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">               </span>acceptCount="100" debug="0" connectionTimeout="20000"</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman"> <span style="">               </span>useURIValidationHack="false" disableUploadTimeout="true" /></font> </span> <span style="font-family: 宋体;">标签Q把</span> <span lang="EN-US"> <font face="Times New Roman">Port=?chmetcnv unitname="? sourcevalue="8080" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"></chmetcnv>8080?/font> </span> <span style="font-family: 宋体;">改ؓ</span> <span lang="EN-US"> <font face="Times New Roman">Port=?chmetcnv unitname="? sourcevalue="8088" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"></chmetcnv>8088?/font> </span> <span style="font-family: 宋体;">或其他端口就可以?/span> </font> </p> <h3 style="margin: 13pt 0cm;"> <font size="5"> <span style="font-family: 宋体;">二、?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> <span style="font-family: 宋体;">控制C?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle XDB Http/FTP</font> </span> <span style="font-family: 宋体;">服务端口</span> </font> </h3> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"> <font size="3"> <span style="font-family: 宋体;">虽然修改</span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">端口可以很容易解决问题,但有时不想修?/span> <span lang="EN-US"> <font face="Times New Roman">Tomcat</font> </span> <span style="font-family: 宋体;">端口Q可以修?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle XDB</font> </span> <span style="font-family: 宋体;">服务端口来避免冲H?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt;"> <font size="3"> <span style="font-family: 宋体;">d</span> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> <span style="font-family: 宋体;">控制台可以以独立方式dQ但必须?/span> <span lang="EN-US"> <font face="Times New Roman">SYSDBA</font> </span> <span style="font-family: 宋体;">w䆾dQ否则不能操?/span> <span lang="EN-US"> <font face="Times New Roman">XDB</font> </span> <span style="font-family: 宋体;">配置参数?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">d?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> <span style="font-family: 宋体;">控制台后Q展开</span> <span lang="EN-US"> <font face="Times New Roman">”XML</font> </span> <span style="font-family: 宋体;">数据?/span> <span lang="EN-US"> <font face="Times New Roman">?/font> </span> <span style="font-family: 宋体;">,</span> <span lang="EN-US"> <font face="Times New Roman">XML</font> </span> <span style="font-family: 宋体;">数据库下有配|、资源?/span> <span lang="EN-US"> <font face="Times New Roman">XML</font> </span> <span style="font-family: 宋体;">Ҏ三个子项。选中配置选项Q?/span> <span lang="EN-US"> <font face="Times New Roman">XML</font> </span> <span style="font-family: 宋体;">数据?/span> <font face="Times New Roman"> </font> <span style="font-family: 宋体;">参数会显C在双区域。如图所C:</span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;"> <img alt="" src="http://blog.csdn.net/images/blog_csdn_net/stevene/image005.jpg" width="751" height="341" /> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <span lang="EN-US"> <shape id="_x0000_i1027" style="width: 415.5pt; height: 190.5pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.jpg" o:title="xmldb"> </imagedata> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">修改参数名ؓ</span> <span lang="EN-US"> <font face="Times New Roman">http-port</font> </span> <span style="font-family: 宋体;">的项Q?/span> <span lang="EN-US"> <font face="Times New Roman">8080</font> </span> <span style="font-family: 宋体;">改ؓ</span> <span lang="EN-US"> <font face="Times New Roman">8088</font> </span> <span style="font-family: 宋体;">或其他未占用端口|也可以修?/span> <span lang="EN-US"> <font face="Times New Roman">ftp-port</font> </span> <span style="font-family: 宋体;">的|然后点右下脚“应用(</span> <span lang="EN-US"> <font face="Times New Roman">P</font> </span> <span style="font-family: 宋体;">Q”按钮应用新修改的端口倹{?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span style="font-family: 宋体;">q里需要注意的是,<strong style="">每个</strong></span> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">实例都会默认占用</span> <span lang="EN-US"> <font face="Times New Roman">8080</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">2100</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">端口Q所以需要修Ҏ?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">上的所有实例的</span> <span lang="EN-US"> <font face="Times New Roman">XDB</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">配置?/span> </strong> </font> </p> <h3 style="margin: 13pt 0cm;"> <font size="5"> <span style="font-family: 宋体;">三、命令行方式</span> <span lang="EN-US"> <font face="Times New Roman">(</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle</font> </span> <span style="font-family: 宋体;">提供的包</span> <span lang="EN-US"> <font face="Times New Roman">)</font> </span> <span style="font-family: 宋体;">修改</span> <span lang="EN-US"> <font face="Times New Roman">Oralce XDB</font> </span> <span style="font-family: 宋体;">端口</span> </font> </h3> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">1</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">、进入命令行Q连?/span> <span lang="EN-US"> <font face="Times New Roman">sqlplus</font> </span> </strong> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">C:\ >sqlplus /nolog</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">SQL*Plus: Release <chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>9.2.0.1.0 - Production on </font> </span> <span style="font-family: 宋体;">星期?/span> <span lang="EN-US"> <font face="Times New Roman"> 10</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman"> 12 14:53:56 2005</font> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">Copyright (c) 1982, 2002, Oracle Corporation.<span style="">  </span>All rights reserved.</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">2</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">、以</span> <span lang="EN-US"> <font face="Times New Roman">SYSDBA</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">w䆾d</span> <span lang="EN-US"> </span> </strong> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> conn sys/wangzh@test as sysdba</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">已连接?/font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">3</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">、修?/span> <span lang="EN-US"> <font face="Times New Roman"> HTTP port </font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman"> 8080 </font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">改ؓ</span> <span lang="EN-US"> <font face="Times New Roman"> 8088</font> </span> </strong> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>2<span style="">  </span>'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>3<span style="">  </span>,8088))</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>4<span style="">  </span>/</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> </span> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">调用完成?/font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">4</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman"> </font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">也可以修?/span> <span lang="EN-US"> <font face="Times New Roman">FTP </font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">端口</span> </strong> <span style="font-family: 宋体;">QD例如下,<strong style="">端?/strong></span> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">2100</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">改ؓ</span> <span lang="EN-US"> <font face="Times New Roman">2111</font> </span> </strong> <span style="font-family: 宋体;">Q一般情况下不用改就可以?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>2<span style="">  </span>'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port /text()'</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>3<span style="">  </span>,2111))</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3"> <font face="Times New Roman"> <span style="">  </span>4<span style="">  </span>/</font> </font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> </span> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">调用完成?/font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <strong style=""> <span lang="EN-US"> <font face="Times New Roman">5</font> </span> </strong> <strong style=""> <span style="font-family: 宋体;">、提交修?/span> <span lang="EN-US"> </span> </strong> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> commit;</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> </span> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span style="font-family: 宋体;"> <font size="3">提交完成?/font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> <font size="3" face="Times New Roman">SQL> exec dbms_xdb.cfg_refresh;</font> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <span lang="EN-US"> </span> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p> <font size="3" face="Times New Roman"> </font> </p> <p> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">PL/SQL </font> </span> <span style="font-family: 宋体;">q程已成功完成?/span> </font> </p> <h3 style="margin: 13pt 0cm;"> <font size="5"> <span style="font-family: 宋体;">四、?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle DBCA</font> </span> <span style="font-family: 宋体;">向导工具Q可以启用、禁用和配置</span> <span lang="EN-US"> <font face="Times New Roman">XML DB</font> </span> <span style="font-family: 宋体;">端口?/span> </font> </h3> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">1</font> </span> <span style="font-family: 宋体;">、启?/span> <span lang="EN-US"> <font face="Times New Roman">DBCA</font> </span> <span style="font-family: 宋体;">Q?/span> <span lang="EN-US"> <font face="Times New Roman">DataBase Configuration Assistant</font> </span> <span style="font-family: 宋体;">Q向?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">2</font> </span> <span style="font-family: 宋体;">、选择“在数据库中配置数据库选项”,单击“下一步”按?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">3</font> </span> <span style="font-family: 宋体;">、选择数据库实例名Q输入用户名和口令,用户必须具备</span> <span lang="EN-US"> <font face="Times New Roman">DBA</font> </span> <span style="font-family: 宋体;">权限Q单几Z下一步”按?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 5.25pt; text-indent: 16.5pt;"> <font size="3"> <span lang="EN-US"> <font face="Times New Roman">4</font> </span> <span style="font-family: 宋体;">、数据库Ҏ页Q点几Z标准数据库功能”按钮打开标准数据库功能页Q然后选择</span> <span lang="EN-US"> <font face="Times New Roman">Oracle XML DB </font> </span> <span style="font-family: 宋体;">后?/span> <font face="Times New Roman"> </font> <span style="font-family: 宋体;">“自定义”按钮,打开?/span> <span lang="EN-US"> <font face="Times New Roman">Oracle XML DB</font> </span> <span style="font-family: 宋体;">”页Q如下:</span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 5.25pt; text-indent: 16.5pt;"> <font size="3"> <span style="font-family: 宋体;">可以选择启用或禁?/span> <span lang="EN-US"> <font face="Times New Roman">XML DB </font> </span> <span style="font-family: 宋体;">协议Q启?/span> <span lang="EN-US"> <font face="Times New Roman">XML DB</font> </span> <span style="font-family: 宋体;">协议的情况下Q可以配|端口号。配|端口号有两个选项Q用默认配|或自定义配|?/span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 5.25pt; text-indent: 16.5pt;"> <font size="3"> <span style="font-family: 宋体;"> <img style="width: 639px; height: 427px;" alt="" src="http://blog.csdn.net/images/blog_csdn_net/stevene/image007.jpg" width="752" height="533" /> </span> </font> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt 5.25pt; text-indent: 16.5pt;"> <span lang="EN-US"> <shape id="_x0000_i1028" style="width: 414.75pt; height: 294pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.jpg" o:title="dbca"> </imagedata> </span> </p> <p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <font size="3"> <span style="font-family: 宋体;">如上图所C,自定?/span> <span lang="EN-US"> <font face="Times New Roman">FTP</font> </span> <span style="font-family: 宋体;">?/span> <span lang="EN-US"> <font face="Times New Roman">HTTP</font> </span> <span style="font-family: 宋体;">端口倹{然后点“确定”按钮完成配|?/span> </font> </p> <img src ="http://www.aygfsteel.com/wiflish/aggbug/231027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wiflish/" target="_blank">想飞的鱼</a> 2008-09-25 08:53 <a href="http://www.aygfsteel.com/wiflish/archive/2008/09/25/231027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql导入数据时ؕ码问题解军_?/title><link>http://www.aygfsteel.com/wiflish/archive/2008/06/07/206502.html</link><dc:creator>想飞的鱼</dc:creator><author>想飞的鱼</author><pubDate>Sat, 07 Jun 2008 03:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/wiflish/archive/2008/06/07/206502.html</guid><wfw:comment>http://www.aygfsteel.com/wiflish/comments/206502.html</wfw:comment><comments>http://www.aygfsteel.com/wiflish/archive/2008/06/07/206502.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wiflish/comments/commentRss/206502.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wiflish/services/trackbacks/206502.html</trackback:ping><description><![CDATA[ <br />mysql -uroot -ppassword < path_to_import_file --default-character-set=utf8<br /><br />通过增加参数 --default-character-set=utf8 解决q问题?img src ="http://www.aygfsteel.com/wiflish/aggbug/206502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wiflish/" target="_blank">想飞的鱼</a> 2008-06-07 11:41 <a href="http://www.aygfsteel.com/wiflish/archive/2008/06/07/206502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>构徏appfuse2.0.2的时候,会在目根目录下生成一个类似ajcore.20080525.115922.886.txt的文件的问题解决http://www.aygfsteel.com/wiflish/archive/2008/05/25/202705.html想飞的鱼想飞的鱼Sun, 25 May 2008 04:13:00 GMThttp://www.aygfsteel.com/wiflish/archive/2008/05/25/202705.htmlhttp://www.aygfsteel.com/wiflish/comments/202705.htmlhttp://www.aygfsteel.com/wiflish/archive/2008/05/25/202705.html#Feedback0http://www.aygfsteel.com/wiflish/comments/commentRss/202705.htmlhttp://www.aygfsteel.com/wiflish/services/trackbacks/202705.html---- Compiler Messages ---
warning bad version number found in D:\repository\.m2\repository\org\aspectj\aspectjrt\1.6.0\aspectjrt-1.6.0.jar expected 1.5.4 found 1.6.0
info directory classpath entry does not exist: C:\Java\jdk1.6.0\jre\lib\sunrsasign.jar
info zipfile classpath entry does not exist: C:\Java\jdk1.6.0\jre\classes
abort ABORT -- (BCException) Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=40

Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=40

org.aspectj.weaver.BCException: Unable to continue, this version of AspectJ supports classes built with weaver version 3.0 but the class org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect is version 5.0
when batch building BuildConfig[null] #Files=40

    at org.aspectj.weaver.bcel.BcelAttributes.readAjAttributes(BcelAttributes.java:53)
    at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:312)
    at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:142)
    at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:360)
    at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType(BcelWorld.java:422)
    at org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromJarFile(BcelWeaver.java:250)
    at org.aspectj.weaver.bcel.BcelWeaver.addLibraryJarFile(BcelWeaver.java:225)
    at org.aspectj.ajdt.internal.core.builder.AjBuildManager.initBcelWorld(AjBuildManager.java:802)
    at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:243)
    at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:180)
    at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
    at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
    at org.aspectj.tools.ajc.Main.run(Main.java:378)
    at org.aspectj.tools.ajc.Main.runMain(Main.java:253)
    at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:378)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

---- org.aspectj.weaver.bcel.BcelWorld@1c09624 ----

原因Q由于appfuse2.0.2使用的aspectj-maven-plugin 插g依赖的Aspectj的版本ؓ1.5.4Q而Aspectj已经更新?.6.0了,所以会出现上述错误?br />
解决办法Q在配置aspectj-maven-plugin插g的pom.xml中手工指定依赖包版本Q如下:
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjrt</artifactId>
                        <version>1.6.0</version>
                    </dependency>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjtools</artifactId>
                        <version>1.6.0</version>
                    </dependency>
                    <!-- appfuse的pom文g中少写了下面q部?-->
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>1.6.0</version>
                    </dependency>
                </dependencies>



想飞的鱼 2008-05-25 12:13 发表评论
]]>
JPA annotationhttp://www.aygfsteel.com/wiflish/archive/2008/04/01/190053.html想飞的鱼想飞的鱼Tue, 01 Apr 2008 05:12:00 GMThttp://www.aygfsteel.com/wiflish/archive/2008/04/01/190053.htmlhttp://www.aygfsteel.com/wiflish/comments/190053.htmlhttp://www.aygfsteel.com/wiflish/archive/2008/04/01/190053.html#Feedback0http://www.aygfsteel.com/wiflish/comments/commentRss/190053.htmlhttp://www.aygfsteel.com/wiflish/services/trackbacks/190053.html只要@Id的annotation在getterҎ上,将使用getterҎ上的annotationQ忽略属性别的annotation?br />

想飞的鱼 2008-04-01 13:12 发表评论
]]>
weblogicW记http://www.aygfsteel.com/wiflish/archive/2008/03/14/186237.html想飞的鱼想飞的鱼Fri, 14 Mar 2008 03:48:00 GMThttp://www.aygfsteel.com/wiflish/archive/2008/03/14/186237.htmlhttp://www.aygfsteel.com/wiflish/comments/186237.htmlhttp://www.aygfsteel.com/wiflish/archive/2008/03/14/186237.html#Feedback0http://www.aygfsteel.com/wiflish/comments/commentRss/186237.htmlhttp://www.aygfsteel.com/wiflish/services/trackbacks/186237.html   域包含一个称为“管理服务器”的Ҏ WebLogic Server 实例Q它是您配置和管理域中所有资源的中心点,一个域有仅只有一个管理服务器实例?br />   在生产环境中Q应?Web 应用E序、EJB 和其他资源部|到受管服务器上Q管理服务器只应用于配置和管理目的?br />   多台受管服务器可以组成一个“群集”,q样可以使用单个理服务器来化对受管服务器实例的理Q现时还可以q负蝲qؓ关键应用E序提供故障转移保护?br />
l织域的基本考虑因素Q?br />     a) 应用E序的逻辑划分。例如,可以用一个域来专门提供最l用户功能(例如购物车)Q而将另一个域专用于后端胦务应用程序?br />     b) 物理位置。可以ؓ企业的不同位|或分支建立单独的域?br />     c) 大小。您可能发现Q将域组l成较小的单元可提高理效率Q可以由不同的系l管理员q行理。相反,您可能发现维护一个域或较数目的域可以ɾl护一致性配|变得更Ҏ?br />
启动受管服务器的ҎQ?br />1、在weblogic的当前域目录中用命令:startManagedWebLogic [SERVER_NAME] [ADMIN_URL]
   SERVER_NAME - 待启动的域中的受服务器名字(大小写敏?
   ADMIN_URL - 理服务器地址包含端口?br />   如:startManagedWebLogic testManagedServer http://localhost:7001
2、在weblogic的控制台界面启动Q操作:
   选择要启动的受管服务器,选择"控制"->"启动停止"->"启动此服?.
   此时受管服务器启动失败,会出现类似如下错误信息:
   描述: Starting DemoManagedServer server ...
      此Q务的说明? 
   状? FAILED
          此Q务的状态? 
   开始时? Fri Mar 14 11:14:13 CST 2008
          启动此Q务的旉? 
   l束旉: Fri Mar 14 11:14:14 CST 2008
          完成此Q务的旉? 
   异常: SecureCommandInvoker: Could not create a socket to the NodeManager running on host 'localhost:5555' to execute command 'online DemoManagedServer', reason: Connection refused: connect. Ensure that the NodeManager on host 'localhost' is configured to listen on port '5555' and that it is actively listening
          在执行此d时出现的异常? 
   日志:   
      dzd的日志?
      
      解决办法Q?br />      Solution 1:
            To make a managed server start, we need to start the node manager on that machine. You can find the script to start the server in WLS_HOME\server\bin\startNodeManager.cmd or sh.
            
            The order in which we need to start the servers are
            1.Start the node manager
            2.Start the Admin server
            3.Start the specific managed server we need to start.
            
     Solution 2:
            Have you set up a "Machine" for each of the managed servers ?
            
            You need to do that (extremely simple: Machines --> Config. New (Unix) Machine ), and then under your new machine, configure the listen address under Nodemanager Tab, with the IP of the machine running the ManagedServer.
            
            The problem seems to be with the adress which the N.M. listens:
            if you telnet localhost 5555, you'll get nothing ("conn refused"), but if you telnet X.X.X.X 5555, you'll get the prompt for the NM ( "Escape character is ]" )
            
            So, if you dont configure the managed server to speak with the nodemanager via real ip address instead of localhost (127.0.0.1), you get nothing.

集和非集的受服务器之间的关键区别在于是否支持故障{Ud负蝲qQ群集支持上q功能,而非集不支持?br />  


想飞的鱼 2008-03-14 11:48 发表评论
]]>
[转]mysql扚w导入已经格式好的文本数据http://www.aygfsteel.com/wiflish/archive/2008/02/26/182200.html想飞的鱼想飞的鱼Tue, 26 Feb 2008 04:39:00 GMThttp://www.aygfsteel.com/wiflish/archive/2008/02/26/182200.htmlhttp://www.aygfsteel.com/wiflish/comments/182200.htmlhttp://www.aygfsteel.com/wiflish/archive/2008/02/26/182200.html#Feedback0http://www.aygfsteel.com/wiflish/comments/commentRss/182200.htmlhttp://www.aygfsteel.com/wiflish/services/trackbacks/182200.html原文q接Q?br /> http://blog.csdn.net/fenglibing/archive/2007/10/11/1820153.aspx
语法Q?/div>
				LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
		
				    [REPLACE | IGNORE]
		
				    INTO TABLE tbl_name
		
				    [CHARACTER SET charset_name]
		
				    [FIELDS
		
				        [TERMINATED BY 'string']
		
				        [[OPTIONALLY] ENCLOSED BY 'char']
		
				        [ESCAPED BY 'char']
		
				    ]
		
				    [LINES
		
				        [STARTING BY 'string']
		
				        [TERMINATED BY 'string']
		
				    ]
		
				    [IGNORE number LINES]
		
				    [(col_name_or_user_var,...)]
		
				    [SET col_name = expr,...]
		
 
使用如下命oQ?/div>
LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu;
因ؓq是一条SQL语句Q你同样可以在你?strong>JAVAE序序中用:
st.execute(“LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu?;
(st表示Statement的一个实例变量,假设数据库连接,st的初使化已经完成)
 
创徏stu表:
create table stu_other(id int auto_increment primary key,stu_name varchar(50),age int);
 
然后创徏一个文本文件“stu.txt”,每行包含一个记录,攑֜C盘的根目录下?strong>默认的字D分隔符?/strong>(tab)Q你可以更改Q下面说明。ƈ且以CREATE TABLE语句中列出的列次序给?/strong>。对于丢q?例如未知的性别Q或仍然zȝ的动物的M日期)Q你可以使用NULL倹{ؓ了在你的文本文g中表C些内容,使用\NQ反斜线Q字母NQ?/div>
 
如stu.txt的内容如下:
100001    FLB100001     100001
100002    FLB100002     100002
100003    FLB100003     100003
100004    FLB100004     100004
100005    FLB100005     100005
100006    FLB100006     100006
100007    FLB100007     100007
100008    FLB100008     100008
?/div>
q里我用的是table分开?/div>
 
要想文本文件“stu.txt”装载到stu表中Q用这个命令:
mysql> LOAD DATA LOCAL INFILE 'c:\\stu.txt' INTO TABLE stu;
q里没有指定字段分隔W,以及行的l止W,默认情况下是q样的:
字段分隔W:
				FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
		
				其中?\t'pC是字段分隔Wؓtab键,如果不想更改Q那把FIELDS TERMINATED BY '\t'中的'\t'改在你自q分隔W。将执行命oҎq样Q?/span>
		
mysql> LOAD DATA LOCAL INFILE 'c:\stu.txt' INTO TABLE stu fields terminated by ??
q里我用的是I格?/div>
行终止符Q?/strong>
				LINES TERMINATED BY '\n' STARTING BY ''
		
 
h意如果用Windows中的~辑器(使用\r\n做ؓ行的l束W)创徏文gQ应使用Q?/div>
 
mysql> LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu
    -> LINES TERMINATED BY '\r\n';
Q在q行OS X的AppleZQ应使用行结束符'\r'。)
 
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔W和行尾标记Q但是默认标记是定位W和换行W。这对读入文件“stu.txt”的语句已经_?/div>
 
另外Q还可以使用SELECT ... INTO OUTFILE 数据导入到外部文g中,如下Q?/strong>
select * from stu_t into outfile "c:\\stu_t.txt";
不过Q没有按记录自动分行
q样才能够换行:
select * from stu_t into outfile "c:\\stu_t.txt" lines terminated by '\r\n';
 
所有实例都是经q测试的Q运行成功?/div>
 
参加文章Q?a >http://www.wang48.com/jishubaodianview/?jsd_id=327
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1820153



想飞的鱼 2008-02-26 12:39 发表评论
]]> վ֩ģ壺 | ɽ| | | | | | | | | | | | | | | ɽ| ¡Ң| ϴ| | | | ¸| | | | ͻȪ| | | ͷ| | | | ͼ| | ʡ| Դ| Ͽ| | | |