分类:
开发运维环境
标签:
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
......
分类:
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
标签:
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
......
分类:
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
......
分类:
Java
标签:
FtpClient
commons-net.jar
setControlEncoding
weblogic冲突
在使用Apache的FTPClient进行ftp上传下载时,发现如果应用部署在weblogic下,调用FTPClient的setControlEncoding方法,将会报错,找不到这个方法。同样,调getControlEncoding时也一样,但是调别的方法就没问题。很明显是跟weblogic的包冲突了。包冲突网上一般都是说改weblogic启动文件,加weblogic.xml什么的,这些方法我一直就没调通过,很头疼。
在这里我也没有什么好的解决方法,我只能修改代码,读文件名的时候进行转码,如果下载文本文件,将文件输入流进行相应转码,也不是很麻烦。weblogic下面冲突的包实在太多了。
分类:
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
......
分类:
Java
标签:
no-cache
页面缓存
今天有位博客好友遇到一个问题,在管理页面给导航树添加了一个节点,切换回导航树时发现刚添加的节点并没有增加,刷新页面也不行,重新登录系统导航树才会更新。导航树是我指导他做的,采用的是ajax发送servlet请求建立的,我看他演示了两遍,debug在刷新页面时servlet代码并没有执行,代码本身没有问题,猜测是 因为页面缓存原因。
为了确认是否是页面缓存造成的,进入如下设置,打开IE工具–Internet 选项,常规选项卡,点击设置,检查所存网页的最新版本一项选择第一项–每次访问时检查。如下图所示:
再进行测试发现程序运行正常,由此可以确认是由于页面缓存的原因造成的。
知道原因就好办了,上面的方法完全可以禁用缓存,但是这是在客户端的,绝大部分情形我们无法要求客户照我们所要求禁用所有页面缓存,这就必须在我们在代码上进行控制,我们可以在缓存页面加上如下html代码来禁用页面缓存:
......
分类:
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
包冲突
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
......
分类:
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"&
......