<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>午夜咖啡 - java category</title>
  <link>http://jolestar.com/categories/java/</link>
  <description>jolestar&#039;s blog, 放羊娃王老五的博客</description>
  <language>zh</language>
  <copyright>jolestar</copyright>
  <lastBuildDate>Mon, 30 Nov 2009 05:17:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>Java App Store  即将发布</title>
    <link>http://jolestar.com/2009/11/03/1257258951311.html</link>
    
      
      
        <description>
          &lt;p&gt;Danny Coward 在其blog中宣称 &#034;&lt;a href=&#034;http://blogs.sun.com/theplanetarium/entry/java_store_readying_to_open&#034; target=&#034;_blank&#034;&gt;Java Store in final stages before open&lt;/a&gt;&#034;。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; 和 Apple Store相似，Java Store是一个让开发人员发布基于Java和Javafx应用的平台。Sun想吸引全球大约600万的java开发人员在上面发布软件，利用&lt;span class=&#034;bodytext&#034;&gt;&lt;span class=&#034;bodytext&#034;&gt;Java Store建立了一个强大的分销渠道,直接将8.00亿全球台式机Java用户和开发人员连接起来。消费者可以在广泛的应用选择中找到满足自己需要或者商业需要的Java应用，开发者也可以省去许多软件推广宣传费用。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.eweek.com/c/a/Application-Development/Sun-Aims-High-with-Java-Store-310858/&#034; target=&#034;_blank&#034;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://jolestar.com/2009/11/03/1257258951311.html&#034;&gt;阅读全文...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>java</category>
    
    <category>爬行在网上</category>
    
    <comments>http://jolestar.com/2009/11/03/1257258951311.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2009/11/03/1257258951311.html</guid>
    <pubDate>Tue, 03 Nov 2009 14:35:51 GMT</pubDate>
  </item>
  
  <item>
    <title>Null Object 模式之我见</title>
    <link>http://jolestar.com/2009/06/18/1245332724302.html</link>
    
      
      
        <description>
          &lt;p&gt;本文探讨并举例说明了Null Object 设计模式的使用场景还有一些心得体会。最后简单探讨了一下java的契约式设计（Design by Contract）。&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://jolestar.com/2009/06/18/1245332724302.html&#034;&gt;阅读全文...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>java</category>
    
    <comments>http://jolestar.com/2009/06/18/1245332724302.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2009/06/18/1245332724302.html</guid>
    <pubDate>Thu, 18 Jun 2009 13:45:24 GMT</pubDate>
  </item>
  
  <item>
    <title>JDK 6 Update 14内置VisualVM 1.1.1</title>
    <link>http://jolestar.com/2009/05/31/1243752060000.html</link>
    
      
      
        <description>
          &lt;p&gt;VisualVM 是一个集成了一些JDK的命令行工具的可视化的工具，为您提供强大的分析能力。它捆绑了包括jstat ， JConsole ， jstack ， jmap和jinfo，这些工具都您都可以在标准的JDK里找到。&lt;/p&gt;
&lt;p&gt;VisualVM可以让您生成和分析堆数据，跟踪内存泄漏，监测垃圾收集器和内存CPU的性能，以及能够浏览和操作MBeans 。虽然VisualVM运行在JDK6上，但它可以监控创建自JDK1.4以上版本的应用程序 。&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://jolestar.com/2009/05/31/1243752060000.html&#034;&gt;阅读全文...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>java</category>
    
    <category>爬行在网上</category>
    
    <comments>http://jolestar.com/2009/05/31/1243752060000.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2009/05/31/1243752060000.html</guid>
    <pubDate>Sun, 31 May 2009 06:41:00 GMT</pubDate>
  </item>
  
  <item>
    <title>终于在网上建了个家</title>
    <link>http://jolestar.com/2009/05/09/1241883360000.html</link>
    
      
      
        <description>
          &lt;p&gt;&amp;nbsp;用Pebble搭建个人博客的简单介绍&lt;/p&gt;
&lt;p&gt;记得我刚开始学网页就是一个简单的想法，给自己弄个个人站。&lt;/p&gt;
&lt;p&gt;于是开始学习 html，css，photoshop,dreamweaver,javascript,flash。然后又知道用静态html做出来的 网站很难维护，最好是用程序做成动态的。于是又学习asp，php，数据库,java，linux。结果这一下误入歧途，回不来了。法律专业也不搞了，转 行写程序了。几年来给别人也做了好些网站程序，但自己最初的那个想法还没实现。本来是想抽空自己写个简单的个人博客用的，但这个想法一直处于构想当中。最 后还是找个现成的单用户blog程序吧。既然喜欢java，那也应该找个java的。找来找去，就找到了这个blog程序---pebble,官方网站 --&lt;a href=&#034;http://pebble.sourceforge.net/&#034; target=&#034;_blank&#034;&gt;http://pebble.sourceforge.net/&lt;/a&gt; 。咱买不起房子，但在网上给自己搭个家还行吧。&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://jolestar.com/2009/05/09/1241883360000.html&#034;&gt;阅读全文...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>心情日记</category>
    
    <category>java</category>
    
    <comments>http://jolestar.com/2009/05/09/1241883360000.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2009/05/09/1241883360000.html</guid>
    <pubDate>Sat, 09 May 2009 15:36:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Spring自动装配(autowire)导致quartz不能运行</title>
    <link>http://jolestar.com/2008/12/18/1229541120000.html</link>
    
      
        <description>
          &lt;p&gt;在spring中配置了一个简单的quartz任务，结果报错：&lt;/p&gt;
&lt;pre name=&#034;code&#034; class=&#034;brush:text&#034;&gt;Failure obtaining db row lock: 第 1 行: 只有 DECLARE CURSOR 才允许使用 FOR UPDATE 子句。

只有 DECLARE CURSOR 才允许使用 FOR UPDATE 子句

at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
	at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
	at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
	at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
	at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477)
	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:777)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:91)
	at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:92)&lt;/pre&gt;
&amp;nbsp;
&lt;p&gt;很郁闷，以为是事务控制的问题。&lt;/p&gt;
&lt;p&gt;结果最后发现是自动配置(quartz)的问题。&lt;/p&gt;
&lt;p&gt;spring的SchedulerFactoryBean中有个dataSource属性。如果这个属性不为空，则用数据库来持久化储存quartz的任务。结果正好我的spring中的DataSource的名字就叫dataSource，结果就导致了上面的错误。&lt;/p&gt;
&lt;p&gt;这个哥们也遇到了同样的问题:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.javaeye.com/topic/38871&#034; target=&#034;_blank&#034;&gt;http://www.javaeye.com/topic/38871&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;所以spring的autowire还是尽量少用为好。&lt;/p&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2009/05/09/1241883360000.html&#034;&gt;终于在网上建了个家&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2008/09/22/1222025640000.html&#034;&gt;ActiveMQ的一个问题&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2008/03/09/1205002620000.html&#034;&gt;Dspace架设经验&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;br/&gt;
        </description>
      
      
    
    
    
    <category>java</category>
    
    <comments>http://jolestar.com/2008/12/18/1229541120000.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2008/12/18/1229541120000.html</guid>
    <pubDate>Wed, 17 Dec 2008 19:12:00 GMT</pubDate>
  </item>
  
  <item>
    <title>ActiveMQ的一个问题</title>
    <link>http://jolestar.com/2008/09/22/1222025640000.html</link>
    
      
        <description>
          &lt;p&gt;安装了activemq，然后要配置成数据库持久化的。&lt;/p&gt;
&lt;p&gt;参考文档:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://activemq.apache.org/persistence.html&#034; target=&#034;_blank&#034;&gt;http://activemq.apache.org/persistence.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;这是个pdf教程，比较详细:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://open.iona.com/docs/broker/5.0/persistence/persistence.pdf&#034; target=&#034;_blank&#034;&gt;http://open.iona.com/docs/broker/5.0/persistence/persistence.pdf&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;启动之后报错:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre name=&#034;code&#034; class=&#034;brush:text&#034;&gt;java.io.IOException: Failed to get last broker message id:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table &#039;activemq.activemq_acks&#039; doesn&#039;t exist
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;按道理数据表会在启动的时候自动创建。因为journaledJDBC有个属性createTablesOnStartup默认是true。并且查看了一下数据库，有两个表：&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre name=&#034;code&#034; class=&#034;brush:text&#034;&gt;ACTIVEMQ_LOCK    
 ACTIVEMQ_MSGS&lt;/pre&gt;
&amp;nbsp;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;搜索了一下,在activemq的邮件列表里找到答案:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.mail-archive.com/users@activemq.apache.org/msg03698.html&#034; target=&#034;_blank&#034;&gt;http://www.mail-archive.com/users@activemq.apache.org/msg03698.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre name=&#034;code&#034; class=&#034;brush:text&#034;&gt;Specified key was too long; max key length is 1000 bytes is the error not
allowing the creation of ACTIVEMQ_ACKS

You are probably using utf8/some other multibyte encoding as the collation
in your database....

Switch it to latin1 or ASCII... The varchar fields that the key is composed
of add up to less than 1000 characters but with a multibyte encoding the key
length is over 1000 bytes.
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;我创建activemq数据库的时候用的character-set是utf-8.把character-set改成latin1就好了。&lt;/p&gt;&lt;p&gt;&lt;b&gt;Related Posts&lt;/b&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2009/06/18/1245332724302.html&#034;&gt;Null Object 模式之我见&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2009/05/09/1241883360000.html&#034;&gt;终于在网上建了个家&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2009/05/31/1243752060000.html&#034;&gt;JDK 6 Update 14内置VisualVM 1.1.1&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2008/12/04/1228331400000.html&#034;&gt;Lucene范围查询(RangeQuery)的几个问题&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2008/12/18/1229541120000.html&#034;&gt;Spring自动装配(autowire)导致quartz不能运行&lt;/a&gt;&lt;br/&gt;&lt;a href=&#034;http://jolestar.com/2008/07/30/1217358000000.html&#034;&gt;四个有害的java习惯&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;br/&gt;
        </description>
      
      
    
    
    
    <category>java</category>
    
    <comments>http://jolestar.com/2008/09/22/1222025640000.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2008/09/22/1222025640000.html</guid>
    <pubDate>Sun, 21 Sep 2008 19:34:00 GMT</pubDate>
  </item>
  
  <item>
    <title>四个有害的java习惯</title>
    <link>http://jolestar.com/2008/07/30/1217358000000.html</link>
    
      
      
        <description>
          &lt;p&gt;本文不算严格意义上的翻译，算是该文章的摘要以及读后感。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;文章原始地址:&lt;a href=&#034;http://www.javaworld.com/javaworld/jw-07-2008/jw-07-harmful-idioms.html&#034; target=&#034;_blank&#034;&gt;http://www.javaworld.com/javaworld/jw-07-2008/jw-07-harmful-idioms.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;John O&#039;Hanley 的这篇文章列举了四个有害的java编码习惯，并提出了改正方案。&lt;/p&gt;
&lt;p&gt;这四个习惯普遍存在于java程序员中，并且已经被广泛接受，大家都习以为常，流毒甚远。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&#034;http://jolestar.com/2008/07/30/1217358000000.html&#034;&gt;阅读全文...&lt;/a&gt;&lt;/p&gt;
        </description>
      
    
    
    
    <category>java</category>
    
    <comments>http://jolestar.com/2008/07/30/1217358000000.html#comments</comments>
    <guid isPermaLink="true">http://jolestar.com/2008/07/30/1217358000000.html</guid>
    <pubDate>Tue, 29 Jul 2008 19:00:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>
