BeanDefinitionStoreException: Failed to read candidate component class

发表于5年前(Dec 24, 2014 1:57:19 PM)  阅读 30443  评论 1

分类: 开发运维环境

标签: BeanDefinitionStoreException Failed to read candidate component class

weblogic服务器启动报出如下错误(模板有点难看,请查看源代码或者复制出来看):

ERROR(02/14 09:46:13)[ContextLoader.java:238]-Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/*/*/WEB-INF/classes/../*.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 8
        at org.springframework.context.ann
......

OpenSessionInViewFilter FlushMode设置

发表于5年前(Dec 24, 2014 1:53:54 PM)  阅读 1070  评论 0

分类: Java

标签: FlushMode InvalidDataAccessApiUsageException java.lang.NoSuchMethodException: org.hibernate.FlushMode.java.lang.String No String constructor found on type [org.hibernate.FlushMode] OpenSessionInViewFilter Write operations are not allowed in read-only mode

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter是Spring提供的filter,用来保持session不关闭,使我们在前台页面可以获取延迟加载的数据。但是如果使用OpenSessionInViewFilter,在前台页面创建实体,进行持久化时,经常会出现如下错误:
org.springframework.dao.InvalidDataAccessApiUsageException:
Write op

......

Java创建ZIP压缩文件

发表于5年前(Dec 24, 2014 1:52:29 PM)  阅读 642  评论 0

分类: Java

标签: java压缩 ZipEn ZipOutputStream

java.util.zip下面有个ZipOutputStream类,使用这个类,我们可以创建一个ZIP压缩文件。见示例代码:

import java.io.File;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class TestZip {

	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		ZipOutputStream zos = new ZipOutputStrea
......

关于hibernate延时加载

发表于5年前(Dec 24, 2014 1:51:36 PM)  阅读 729  评论 0

分类: Java

标签: hibernate延时加载 LazyInitializationException

hibernate在做实体关联关系时可以设置延时加载,延时加载的好处时,避免多余的sql查询,只有在需要用到时再进行查询,这样加快了程序处理效率。

通常jsp访问bean时,hibernate的session已经关闭,就会出现延时加载报错,LazyInitializationException,我们必须在web.xml里面配置一个filter,用来保持session状态,延时关闭。

这个是用于使用hibernate的时候:

 <filter>
	<filter-name>OpenSessionInViewFilter</filter-name>
	<filter-class>
		org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filt
......

Apache commons-net.jar中FTPClient的setControlEncoding与Weblogic冲突

发表于5年前(Dec 24, 2014 1:50:15 PM)  阅读 853  评论 0

分类: Java

标签: FtpClient commons-net.jar setControlEncoding weblogic冲突

在使用Apache的FTPClient进行ftp上传下载时,发现如果应用部署在weblogic下,调用FTPClient的setControlEncoding方法,将会报错,找不到这个方法。同样,调getControlEncoding时也一样,但是调别的方法就没问题。很明显是跟weblogic的包冲突了。包冲突网上一般都是说改weblogic启动文件,加weblogic.xml什么的,这些方法我一直就没调通过,很头疼。

在这里我也没有什么好的解决方法,我只能修改代码,读文件名的时候进行转码,如果下载文本文件,将文件输入流进行相应转码,也不是很麻烦。weblogic下面冲突的包实在太多了。

Java FTP下载文件

发表于5年前(Dec 24, 2014 1:49:20 PM)  阅读 840  评论 0

分类: Java

标签: FtpClient ftp下载 retrieveFileStream

Java如何FTP文件上传,可以参见我的这篇文章"java上传文件到ftp"。这次要讲的是如何用Apache提供的FTPClient来下载文件。

FTPClient里面有这么一个方法:
InputStream org.apache.commons.net.ftp.FTPClient.retrieveFileStream(String remote) throws IOException
这个方法就可以返回文件的输入流,有了他我们就可以读取文件内容,以文本文件为例:

public static StringBuffer downloadATxtFile(String server,String userName, String userPassword, String path, String fileName) {
		FTPClient ftpClient = new FTPClient();
		StringBuffer
......

禁用页面缓存

发表于5年前(Dec 24, 2014 1:47:06 PM)  阅读 823  评论 0

分类: Java

标签: no-cache 页面缓存

今天有位博客好友遇到一个问题,在管理页面给导航树添加了一个节点,切换回导航树时发现刚添加的节点并没有增加,刷新页面也不行,重新登录系统导航树才会更新。导航树是我指导他做的,采用的是ajax发送servlet请求建立的,我看他演示了两遍,debug在刷新页面时servlet代码并没有执行,代码本身没有问题,猜测是 因为页面缓存原因。

为了确认是否是页面缓存造成的,进入如下设置,打开IE工具–Internet 选项,常规选项卡,点击设置,检查所存网页的最新版本一项选择第一项–每次访问时检查。如下图所示:

再进行测试发现程序运行正常,由此可以确认是由于页面缓存的原因造成的。

知道原因就好办了,上面的方法完全可以禁用缓存,但是这是在客户端的,绝大部分情形我们无法要求客户照我们所要求禁用所有页面缓存,这就必须在我们在代码上进行控制,我们可以在缓存页面加上如下html代码来禁用页面缓存:

 

 

 

......

Spring使用weblogic中配置的数据源

发表于5年前(Dec 24, 2014 1:45:04 PM)  阅读 1187  评论 0

分类: Java 开发运维环境

标签: Weblogic jndi 数据源

一般来说我们都是在应用程序里面配置jdbc数据源,因为这样可以脱离web服务器的设置,比较容易移植,但是也有情况使我们必须使用web容器配置数据源,例如如果要用的多个数据库时,在中间件中配置数据源就比较方便。

先讲下如何在weblogic中配置数据源,以weblogic9.3.2为例。启动weblogic,进入console页面, 在左侧Domain Structure面板选择Services,然后选择jdbc—-Data Sources,在这里将会显示现有的所有数据源,点击页面左上角的Lock&Edit,然后点New来新建一个数据源,Name跟JNDI Name由用户命名,一般用相同的,如test,Database Type则是选择你要连接的数据库类型,驱动会自己帮你选择,一般不用做修改。接下来的,用户都应该很熟悉,无非是ip地址,sid,用户名密码等。完成后将在DataSource列表里看到刚新建的数据源,jndi name就是我们待会再Spring中要用到的。在数据源configuration–connection poo

......

weblogic跟spring.jar冲突

发表于5年前(Dec 24, 2014 1:43:32 PM)  阅读 902  评论 0

分类: 开发运维环境

标签: Weblogic 包冲突 ModuleException

weblogic.application.ModuleException: at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:891) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) Truncated. see log file for complete stack

......

weblogic跟hibernate3冲突HqlToken

发表于5年前(Dec 24, 2014 1:42:27 PM)  阅读 825  评论 0

分类: Java 开发运维环境

标签: Weblogic antlr ClassicQueryTranslatorFactory factory里面可以配置hibernate.query.factory_classs hibernate3 HqlToken 包冲突

weblogic10以上的版本跟hibernate3中的antlr.jar冲突,冲突的原因网上已经有很多解释,方案也有很多,我测试了多种,只有一种成功了,不知道他们怎么成功的,现将我成功的方法分享给大家。

修改hibernate配置文件。因为我是使用的jpa,在我的applicationContext.xml里面以前配了这么一个entityManagerFactory

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="jpaVendorAdapter"&
......