<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[安道生練功房 - Latest posts for "lynx286"]]></title>
		<link>https://forum.andowson.com/posts/listByUser/30</link>
		<description><![CDATA[Latest posts for "lynx286"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] 回覆:jforum论坛二次开发--小修小改汇总贴</title>
				<description><![CDATA[ 让附件图片支持gif动画: 
<br><a class="snap_shots" href="http://www.mydwbi.com/posts/list/470.page" target="_new" rel="nofollow">http://www.mydwbi.com/posts/list/470.page</a>
<br>
<br>
AttachmentCommon.java: 
<br>
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>private boolean shouldCreateThumb(Attachment a) {<br>		if (SystemGlobals<br>				.getBoolValue(ConfigKeys.ATTACHMENTS_IMAGES_CREATE_THUMB)) {<br>			String extension = a.getInfo().getExtension().getExtension()<br>					.toLowerCase();<br>			if (Attachment.isPicture(extension)) {<br>				String path = SystemGlobals<br>						.getValue(ConfigKeys.ATTACHMENTS_STORE_DIR)<br>						+ "/" + a.getInfo().getPhysicalFilename();<br>				File fileOriginal = new File(path);<br>				Image imageOriginal = null;<br>				try {<br>					imageOriginal = ImageIO.read(fileOriginal);<br>				} catch (IOException e) {<br>					e.printStackTrace();<br>				}<br>				int widthOriginal = imageOriginal.getWidth(null);<br>				int heightOriginal = imageOriginal.getHeight(null);<br>				if (widthOriginal &gt; 800 || heightOriginal &gt; 600)<br>					return true;<br>				else<br>					return false;<br>			} else<br>				return false;<br>		} else<br>			return false;<br>	}<br></code></pre>
<br>
<br>
<br>
Attachment.java: 
<br>
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>public boolean hasThumb() {<br>		String pName = this.info.getPhysicalFilename();<br>		String extension = pName.substring(pName.lastIndexOf('.') + 1, pName<br>				.length() - 1);<br>		if (isPicture(extension)<br>				&amp;&amp; SystemGlobals<br>						.getBoolValue(ConfigKeys.ATTACHMENTS_IMAGES_CREATE_THUMB))<br>			return true;<br>		else<br>			return false;<br>	}<br><br>	public String thumbPath() {<br>		String fileDir = SystemGlobals<br>				.getValue(ConfigKeys.ATTACHMENTS_UPLOAD_DIR)<br>				+ '/' + this.info.getPhysicalFilename();<br>		String path = SystemGlobals.getValue(ConfigKeys.ATTACHMENTS_STORE_DIR)<br>				+ "/" + this.info.getPhysicalFilename();<br>		if (new File(path + "_thumb").exists()) {<br>			return fileDir + "_thumb";<br>		} else {<br>			return fileDir;<br>		}<br>	}<br><br>	public static boolean isPicture(String extension) {<br>		if ("bmp".equals(extension) || "jpg".equals(extension)<br>				|| "jpeg".equals(extension) || "gif".equals(extension)<br>				|| "png".equals(extension))<br>			return true;<br>		else<br>			return false;<br>	}<br></code></pre>
<br>
<br>
<br>
让头像也支持gif动画: 
<br><a class="snap_shots" href="http://www.mydwbi.com/posts/list/471.page" target="_new" rel="nofollow">http://www.mydwbi.com/posts/list/471.page</a>
<br>
<br>
<br>
UserCommon.java: 
<br>
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>private static void handleAvatar(User u) {<br>		String fileName = MD5.crypt(Integer.toString(u.getId()));<br>		FileItem item = (FileItem) JForumExecutionContext.getRequest()<br>				.getObjectParameter("avatar");<br>		UploadUtils uploadUtils = new UploadUtils(item);<br><br>		// Gets file extension<br>		String extension = uploadUtils.getExtension().toLowerCase();<br>		int type = ImageUtils.IMAGE_UNKNOWN;<br>		if (extension.equals("jpg") || extension.equals("jpeg")) {<br>			type = ImageUtils.IMAGE_JPEG;<br>		} else if (extension.equals("gif")) {<br>			type = ImageUtils.IMAGE_GIF;<br>		} else if (extension.equals("png")) {<br>			type = ImageUtils.IMAGE_PNG;<br>		}<br><br>		if (type != ImageUtils.IMAGE_UNKNOWN) {<br>			String avatarFinalFileName = SystemGlobals.getApplicationPath()<br>					+ "/images/avatar/" + fileName + "." + extension;<br>			uploadUtils.saveUploadedFile(avatarFinalFileName);<br>			File avatar = new File(avatarFinalFileName);<br>			Image imageOriginal = null;<br>			try {<br>				imageOriginal = ImageIO.read(avatar);<br>			} catch (IOException e) {<br>				e.printStackTrace();<br>			}<br>			int widthOriginal = imageOriginal.getWidth(null);<br>			int heightOriginal = imageOriginal.getHeight(null);<br>			if (widthOriginal &lt;= 130 &amp;&amp; heightOriginal &lt;= 130) {<br>				u.setAvatar(fileName + "." + extension);<br>			}else{<br>				avatar.delete();<br>			}<br>		}<br>	}<br></code></pre>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/253/522</guid>
				<link>https://forum.andowson.com/posts/preList/253/522</link>
				<pubDate><![CDATA[Wed, 10 Dec 2008 10:37:11]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] 回覆:jforum论坛二次开发--小修小改汇总贴</title>
				<description><![CDATA[ <li>将整个论坛页面宽度由满屏改为固定宽度</li>
<br>
header.htm 31行： &lt;table width="950" border="0" ALIGN="center"&gt; 
<br>
<br>
<li>将论坛跳转下拉框放到上面</li>
<br>
post_show.htm 等页面 90 行，加上下面代码： 
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>&lt;td align="left"&gt;<br>					&lt;span class="gensmall"&gt;${I18n.getMessage("ForumIndex.goTo")}:&amp;nbsp;&lt;/span&gt;<br>					&lt;select onchange="if(this.options[this.selectedIndex].value != -1){ document.location = '${contextPath}/forums/show/'+ this.options[this.selectedIndex].value +'${extension}'; }" name="select"&gt;<br>						&lt;option value="-1" selected="selected"&gt;${I18n.getMessage("ForumIndex.goToSelectAForum")}&lt;/option&gt;				<br>						<br>						&lt;#list allCategories as category&gt;<br>                            &lt;optgroup label="${category.name}"&gt;<br>		<br>							&lt;#list category.getForums() as forum&gt;<br>								&lt;option value="${forum.id}"&gt;${forum.name}&lt;/option&gt;<br>							&lt;/#list&gt;<br>							&lt;/optgroup&gt;<br>						&lt;/#list&gt;<br>					&lt;/select&gt;<br>					&amp;nbsp;<br>					&lt;input class="liteoption" type="button" value="${I18n.getMessage("ForumIndex.goToGo")}" onclick="if(document.f.select.options[document.f.select.selectedIndex].value != -1){ document.location = '${contextPath}/forums/show/'+ document.f.select.options[document.f.select.selectedIndex].value +'${extension}'; }" /&gt;<br>				  &lt;/td&gt;<br></code></pre>
<br>
此段代码可以从 macros\presentaion.ftl 中 &lt;#macro forumsComboTable&gt; 里面拷贝。 
<br>
参考: 
<br>
http://www.mydwbi.com/posts/list/103.page 
<br>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/253/425</guid>
				<link>https://forum.andowson.com/posts/preList/253/425</link>
				<pubDate><![CDATA[Sat, 9 Aug 2008 14:48:47]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] jforum论坛二次开发--小修小改汇总贴</title>
				<description><![CDATA[ ***************************************** 
<br>
lynx286原创, 首发<a class="snap_shots" target="_new" rel="nofollow">www.mydwbi.com</a>
<br><a class="snap_shots" href="http://www.mydwbi.com/posts/list/0/103.page" target="_new" rel="nofollow">http://www.mydwbi.com/posts/list/0/103.page</a>
<br>
欢迎转贴, 但转贴请不要删除此段版权说明. 
<br>
***************************************** 
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">将会员列表改成按id排序（新注册用户排前面）</font></span></li>
<br>
<br>
web-inf\config\database\generic\generic_queries.sql 
<br>
<br>
将58-59行 "order by username" 改成 "order by user_id desc" 
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">添加网站地图</font></span></li>
<br>
-生成sitemap.xml 
<br>
jforum 的url后缀是.page不是常规的.htm .html .asp .jsp 所以很多sitemap.xml builder不能识别jforum中的链接,所以自动生成不了sitemap.xml(本人猜想是这个原因),后来找半天找到一个工具叫SOFTplus GSiteCrawler的可以自定义页面后缀,从而自动生成sitemap.xml. 
<br>
<br>
-添加国际化属性 
<br>
zh_CN.properties中最后添加:mydwbi.sitemap=\u7f51\u7ad9\u5730\u56fe 
<br>
<br>
-添加入口链接 
<br>
在forum_list.htm中第181行下添加: 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;td&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;<br>&lt;td align="center" width="20"&gt;&lt;img   /&gt;&lt;/td&gt;<br>&lt;td&gt;&lt;span class="gensmall"&gt;&lt;a href="${contextPath}/sitemap.xml"&gt;${I18n.getMessage("mydwbi.sitemap")}&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;<br></code></pre>
<br>
<br>
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">修改版权信息</font></span></li>
<br>
修改bottom.htm 11行. 
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">将发贴时"poll","attachments","options"改成中文</font></span></li>
<br>
-添加国际化属性 
<br>
mydwbi.Options=\u9009\u9879 
<br>
mydwbi.Poll=\u6295\u7968 
<br>
mydwbi.Attach=\u9644\u4ef6 
<br>
<br>
-修改模板 
<br>
将post_form.htm中第369,372,375行"poll","attachments","options"改成: 
<br>
${I18n.getMessage("mydwbi.Options")} 
<br>
${I18n.getMessage("mydwbi.Poll")} 
<br>
${I18n.getMessage("mydwbi.Attach")} 
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">让发贴的表情符号列表多显示几个表情</font></span></li>
<br>
修改post_form.htm261行，改成：&lt;#if (count &lt; 32)&gt; 
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">特定用户显示ip</font></span></li>
<br>
post_show_user_inc.htm36，37行改成： 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;#if (post.userIp?exists &amp;&amp; isModerator) || (post.userIp?exists &amp;&amp; session.username = "lynx286")&gt;<br>${I18n.getMessage("PostShow.userIP")}: &lt;a href="http://whois.domaintools.com/${post.userIp}"  target="_blank"&gt;${post.userIp}&lt;/a&gt;</code></pre>
<br>
<br>
即如果当前登陆用户为该版版主或用户名为lynx286,就显示发贴人ip地址 
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">进入板块后显示主题列表页面发表人栏显示帖子发表时间</font></span></li>
<br>
进入板块后显示主题列表页面指： /forums/show/xxxx.page 页面 
<br>
forum_show.htm页面224行改成： 
<br>
<pre class="line-numbers"><code class="language-html match-braces">&lt;span class="postdetails"&gt;${topic.firstPostTime}&lt;br /&gt;<br>&lt;a href="${JForumContext.encodeURL("/user/profile/${topic.postedBy.id}")}"&gt;${topic.postedBy.username}&lt;/a&gt;&lt;/span&gt;</code></pre>
<br>
176行改成：width=140 
<br>
<br>
<br>
<li><span style="font-size: 18px; line-height: normal;"><font color="blue">bmp图片也显示缩略图</font></span></li>
<br>
用户经常用print screen键拷贝屏幕图片，并发到帖子上，是bmp格式，不能显示缩略图，要下载才能看，不太方便。这里改一下可显示缩略图 。 
<br>
AttachmentCommon.java 254行添加："bmp".equals(extension) ||]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/253/398</guid>
				<link>https://forum.andowson.com/posts/preList/253/398</link>
				<pubDate><![CDATA[Sat, 14 Jun 2008 13:52:13]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] 回覆:jforum论坛二次开发--显示版主 </title>
				<description><![CDATA[ 上面贴了两遍,不好意思 <img src="https://forum.andowson.com/images/smilies/ed515dbff23a0ee3241dcc0a601c9ed6.gif" alt="smilie">]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/242/378</guid>
				<link>https://forum.andowson.com/posts/preList/242/378</link>
				<pubDate><![CDATA[Sat, 10 May 2008 13:15:40]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] 回覆:jforum论坛二次开发--显示版主 </title>
				<description><![CDATA[ jforum论坛二次开发--显示版主<font color="red"><b>(续) </b></font>直接显示版主名称,而不是显示版主群组名称 
<br>
<br>
***************************************** 
<br>
lynx286原创, 首发<a class="snap_shots" target="_new" rel="nofollow">www.mydwbi.com</a>
<br><a class="snap_shots" href="http://www.mydwbi.com/posts/list/0/45.page" target="_new" rel="nofollow">http://www.mydwbi.com/posts/list/0/45.page</a>
<br>
欢迎转贴, 但转贴请不要删除此段版权说明. 
<br>
***************************************** 
<br>
<br>
<br>
ForumRepository.java 增加以下函数: 
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>public static List getModeratorList2(int forumId) {   <br>        List ulist = new ArrayList();   <br>        List l = getModeratorList(forumId);   <br>        System.out.println("************" + l.size());   <br>        if (l != null &amp;&amp; l.size() &gt; 0) {   <br>            for (Iterator it = l.iterator(); it.hasNext();) {   <br>                ModeratorInfo mi = (ModeratorInfo) it.next();   <br>                int groupId = mi.getId();   <br>                List users = listGroup(groupId);   <br>                ulist.addAll(users);   <br>                System.out.println("========" + users.size());   <br>            }   <br>        }   <br>        return ulist;   <br>    }   <br>  <br>    public static List listGroup(int groupId) {   <br>        // int groupId = this.request.getIntParameter("group_id");   <br>  <br>        int start = preparePagination(DataAccessDriver.getInstance()   <br>                .newUserDAO().getTotalUsersByGroup(groupId));   <br>        int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);   <br>  <br>        List users = DataAccessDriver.getInstance().newUserDAO()   <br>                .selectAllByGroup(groupId, start, usersPerPage);   <br>        return users;   <br>        // this.context.put("users", users);   <br>        // this.setTemplateName(TemplateKeys.USER_LIST);   <br>    }   <br>  <br>    private static int preparePagination(int totalUsers) {   <br>        int start = ViewCommon.getStartPage();   <br>        int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);   <br>  <br>        ViewCommon.contextToPagination(start, totalUsers, usersPerPage);   <br>  <br>        return start;   <br>    }  <br></code></pre>
<br>
<br>
<br>
forum_list.htm 53-56行改成: 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;#assign moderators = forumRepository.getModeratorList2(forum.id)/&gt;   <br>&lt;#list moderators as m&gt;   <br>&lt;a href="/user/profile/${m.id}")}"&gt;${m.username?html}&lt;/a&gt;   <br>&lt;/#list&gt; <br></code></pre>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/242/377</guid>
				<link>https://forum.andowson.com/posts/preList/242/377</link>
				<pubDate><![CDATA[Sat, 10 May 2008 00:30:43]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] jforum没有时区设置?</title>
				<description><![CDATA[ jforum好像没有时区设置, 如果服务器时区是美国时间,那发贴等操作记录入数据库的时间就是美国时间, 我想改成中国时区时间, 不知道大家有没有好办法???]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/244/374</guid>
				<link>https://forum.andowson.com/posts/preList/244/374</link>
				<pubDate><![CDATA[Fri, 2 May 2008 21:51:26]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] jforum论坛二次开发--添加页面</title>
				<description><![CDATA[ ***************************************** 
<br>
lynx286原创, 首发www.mydwbi.com 
<br>
http://www.mydwbi.com/posts/list/44.page 
<br>
欢迎转贴, 但转贴请不要删除此段版权说明. 
<br>
***************************************** 
<br>
<br>
如添加本网站联系我们,广告投放等两个页面. 
<br>
<br>
1. 在modulesMapping.properties文件中添加:mydwbi=com.mydwbi.MydwbiAction 
<br>
此文件用来映射模块名.即添加一个叫mydwbi的模块. 
<br>
<br>
2. 在templatesMapping.properties文件中添加: 
<br>
mydwbi.contact = contact.htm 
<br>
mydwbi.advertisement = advertisement.htm 
<br>
此文件映射action和result 模板的关系,学过freemarker的可能会好理解些. 
<br>
<br>
3. 在urlPattern.properties中添加: 
<br>
mydwbi.contact.0 = 
<br>
mydwbi.advertisement.0 = 
<br>
此文件设置每个action参数.我们这个action无参数. 
<br>
<br>
4. 修改net.jforum.util.preferences.TemplateKeys类,添加: 
<br>
public static final String MYDWBI_CONTACT = "mydwbi.contact"; 
<br>
public static final String MYDWBI_AD = "mydwbi.advertisement"; 
<br>
<br>
5. 新建一个类:com.mydwbi.MydwbiAction 
<br>
<pre class="line-numbers"><code class="language-java match-braces"><br>package com.mydwbi;   <br>  <br>import net.jforum.Command;   <br>import net.jforum.util.preferences.TemplateKeys;   <br>  <br>public class MydwbiAction extends Command {   <br>    public void list() {   <br>    }   <br>  <br>    public void contact() {   <br>        this.setTemplateName(TemplateKeys.MYDWBI_CONTACT);   <br>    }   <br>  <br>    public void advertisement() {   <br>        this.setTemplateName(TemplateKeys.MYDWBI_AD);   <br>    }   <br>  <br>}  <br></code></pre>
<br>
<br>
6. 修改jforum\templates\default\header.htm, 添加: 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;a id="contactUs" class="mainmenu" href="${JForumContext.encodeURL("/mydwbi/contact")}"&gt;&lt;img src="${contextPath}/templates/${templateName}/images/icon_mini_message.gif" border="0" alt="[Contact Us]" /&gt;${I18n.getMessage("mydwbi.contact")}&lt;/a&gt;&amp;nbsp; <br>&lt;a id="ad" class="mainmenu" href="${JForumContext.encodeURL("/mydwbi/advertisement")}"&gt;&lt;img src="${contextPath}/templates/${templateName}/images/icon_mini_recentTopics.gif" border="0" alt="[AD]" /&gt;${I18n.getMessage("mydwbi.Advertisement")}&lt;/a&gt;&amp;nbsp;<br></code></pre>
<br>
<br>
7. 添加两个文件contact.htm,advertisement.htm 在目录:jforum\templates\default\下: 
<br>
contact.htm: 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;#include "header.htm"/&gt;   <br>&lt;center&gt;   <br>    ${I18n.getMessage("mydwbi.contactDesc")}:admin@mydwbi.com   <br>&lt;/center&gt;   <br>&lt;#include "bottom.htm"/&gt;<br></code></pre>
<br>
<br>
advertisement.htm 
<br>
<pre class="line-numbers"><code class="language-html match-braces"><br>&lt;#include "header.htm"/&gt;   <br>&lt;center&gt;   <br>    ${I18n.getMessage("mydwbi.adDesc")}:admin@mydwbi.com   <br>&lt;/center&gt;   <br>&lt;#include "bottom.htm"/&gt;  <br></code></pre>
<br>
<br>
8. 添加国际化文件: 
<br>
native2ascii -encoding GBK messages.properties messages_zh_CN.properties 
<br>
注意要加-encoding 参数,且参数值不是utf8. 
<br>
<br>
完成!本人较懒, 写的不详细.有问题请跟贴!]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/243/373</guid>
				<link>https://forum.andowson.com/posts/preList/243/373</link>
				<pubDate><![CDATA[Fri, 2 May 2008 21:24:11]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] jforum论坛二次开发--显示版主 </title>
				<description><![CDATA[ ***************************************** 
<br>
lynx286原创, 首发www.mydwbi.com 
<br>
http://www.mydwbi.com/posts/list/0/45.page 
<br>
欢迎转贴, 但转贴请不要删除此段版权说明. 
<br>
***************************************** 
<br>
<br>
jforum论坛是很流行的java开源论坛,但不支持版主.网友可以查查其他的jforum论坛都没有版主, 这种论坛貌似很不适合中国国情,本人在这里介绍一个显示版主的方法. 
<br>
<br>
1. 为每个板块添加一个群组, 将版主的群组属性改成此群组. 
<br>
2. 板块的审核属性用默认的"不审核", 原来只有设置成"审核状态"才显示版主,但这样每发一个帖子都要审核,不好. 
<br>
3. 删除forum_list.htm 第51(57)行那个if语句即可. 
<br>
<br>
其实过程非常简单, 但是网上都没有人研究,尝试解决这个问题. 
<br>
<br>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/242/372</guid>
				<link>https://forum.andowson.com/posts/preList/242/372</link>
				<pubDate><![CDATA[Fri, 2 May 2008 21:22:49]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] 回覆:MySQLNonTransientConnectionException</title>
				<description><![CDATA[ 以下是右键察看源文件的错误信息： 
<br>
<br>
&lt;!-- BEGIN ERROR STACK TRACE 
<br>
net.jforum.exceptions.DatabaseException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure 
<br>
<br>
Last packet sent to the server was 1 ms ago. 
<br>
<br>
Query being executed when exception was thrown: 
<br>
<br>
SELECT COUNT(pm.privmsgs_to_userid) AS private_messages, u.* FROM jforum_users u LEFT JOIN jforum_privmsgs pm ON pm.privmsgs_type = 1 AND pm.privmsgs_to_userid = u.user_id WHERE u.user_id = 1 GROUP BY pm.privmsgs_to_userid 
<br>
 at sun.reflect.GeneratedConstructorAccessor114.newInstance(Unknown Source) 
<br>
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
<br>
 at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
<br>
 at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) 
<br>
 at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) 
<br>
 at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3134) 
<br>
 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1818) 
<br>
 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961) 
<br>
 at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543) 
<br>
 at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737) 
<br>
 at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1888) 
<br>
 at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76) 
<br>
 at net.jforum.dao.generic.GenericUserDAO.selectById(GenericUserDAO.java:136) 
<br>
 at net.jforum.repository.SecurityRepository.load(SecurityRepository.java:94) 
<br>
 at net.jforum.repository.SecurityRepository.load(SecurityRepository.java:112) 
<br>
 at net.jforum.JForum.service(JForum.java:163) 
<br>
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
<br>
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
<br>
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
<br>
 at net.jforum.util.legacy.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:59) 
<br>
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
<br>
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
<br>
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
<br>
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
<br>
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
<br>
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
<br>
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
<br>
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
<br>
 at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307) 
<br>
 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385) 
<br>
 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748) 
<br>
 at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678) 
<br>
 at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871) 
<br>
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
<br>
 at java.lang.Thread.run(Thread.java:619) 
<br>
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure 
<br>
<br>
Last packet sent to the server was 1 ms ago. 
<br>
<br>
Query being executed when exception was thrown: 
<br>
<br>
SELECT COUNT(pm.privmsgs_to_userid) AS private_messages, u.* FROM jforum_users u LEFT JOIN jforum_privmsgs pm ON pm.privmsgs_type = 1 AND pm.privmsgs_to_userid = u.user_id WHERE u.user_id = 1 GROUP BY pm.privmsgs_to_userid 
<br>
 ... 35 more 
<br>
<br>
URL is: /forums/list.page?null 
<br>
END ERROR STACK TRACE--&gt; 
<br>
<br>
 &lt;html&gt; 
<br>
 &lt;head&gt; 
<br>
 &lt;title&gt;Error&lt;/title&gt; 
<br>
 &lt;/head&gt; 
<br>
 &lt;body&gt; 
<br>
 &lt;p style="color:red; font-weight:bold"&gt;An error has occurred.&lt;/p&gt;&lt;p&gt;For detailed error information, please see the HTML source code, and contact the forum Administrator.&lt;/p&gt;&lt;pre class="pre-error"&gt;&lt;i&gt;com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure 
<br>
<br>
Last packet sent to the server was 1 ms ago. 
<br>
<br>
Query being executed when exception was thrown: 
<br>
<br>
SELECT COUNT(pm.privmsgs_to_userid) AS private_messages, u.* FROM jforum_users u LEFT JOIN jforum_privmsgs pm ON pm.privmsgs_type = 1 AND pm.privmsgs_to_userid = u.user_id WHERE u.user_id = 1 GROUP BY pm.privmsgs_to_userid&lt;/i&gt;&lt;/pre&gt; 
<br>
 &lt;/body&gt; 
<br>
 &lt;/html&gt; 
<br>
<br>]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/237/365</guid>
				<link>https://forum.andowson.com/posts/preList/237/365</link>
				<pubDate><![CDATA[Thu, 24 Apr 2008 13:25:37]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
			<item>
				<title>[JForum中文社群 JForum Chinese Users Community] MySQLNonTransientConnectionException</title>
				<description><![CDATA[ 我的论坛也是jforum,几个小时没人访问以后，再访问就会出现下面错误： 
<br>
<br>
<br>
An error has occurred. 
<br>
<br>
For detailed error information, please see the HTML source code, and contact the forum Administrator. 
<br>
<br>
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure 
<br>
<br>
Last packet sent to the server was 0 ms ago. 
<br>
<br>
Query being executed when exception was thrown: 
<br>
<br>
SELECT COUNT(pm.privmsgs_to_userid) AS private_messages, u.* FROM jforum_users u LEFT JOIN jforum_privmsgs pm ON pm.privmsgs_type = 1 AND pm.privmsgs_to_userid = u.user_id WHERE u.user_id = 1 GROUP BY pm.privmsgs_to_userid 
<br>
<br>
<br>
我是Tomcat 5.5 + mysql 
<br>
<br>
Thanks!]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/237/364</guid>
				<link>https://forum.andowson.com/posts/preList/237/364</link>
				<pubDate><![CDATA[Thu, 24 Apr 2008 12:08:15]]> GMT</pubDate>
				<author><![CDATA[ lynx286]]></author>
			</item>
	</channel>
</rss>