摘要:Lucene是一种功能强大且被广泛使用的搜索引擎,以下列出了8种基于Lucene的搜索引擎,你可以想象它们有多么强大。1. Apache SolrSolr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。2. Elastic SearchElasticSearch是一个基于Luc
阅读全文
08 2012 档案
摘要:这个listner的作用就是监听web.xml中的配置para-name为webAppRootKey的值,比如我的web应用为tsts,那么我配置这样一个<context-param><param-name>webAppRootKey</param-name><param-value>tsts.root</param-value></context-param>,然后再配置这样一个监听器:<listener><listener-class>org.springframework.web.util.W
阅读全文
摘要:做搜索产品的时候发现国外一个同类型的产品contellio,发现功能比较强大,先记录下来貌似可以添加文档 网站 以及数据库等不同类型的数据源http://wiki.constellio.com/index.php/Main_Pagehttp://www.constellio.com/http://www.constellio.comhttp://wiki.constellio.com/index.php/Getting_Startedhttp://wiki.constellio.com/index.php/Search_Guidehttp://wiki.constellio.com/index
阅读全文
摘要:packagecom.doculibre.constellio.servlets;importjava.net.MalformedURLException;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;importorg.apache.solr.client.solrj.SolrQuery;importorg.apache.solr.client.solrj.SolrServer;importorg.apache.solr.client.solrj.Solr
阅读全文
摘要:A example用户身份验证应用程序的安全机制需要在授权用户访问资源之前确定用户的身份,即用户是谁。大多数应用都会弹出一个登陆界面供用户输入用户名密码。在Spring安全机制中,authentication manager由org.acegisecurity.AuthenticationManager接口定义。public insterface AuthenticationManager {public Authentication authenticate(Authentication authentication)throws AuthenticationException;}上面出现的
阅读全文
摘要:转载 http://alimama.iteye.com/blog/6168541.网上常见的重写FilterInvocationDefinitionSource的做法 http://www.family168.com/oa/springsecurity/html/ch005-resource-db.html#d0e585 具体方法参照这里 http://www.iteye.com/topic/319965 此种方法存在一个问题:系统会在初始化时一次将所有资源加载到内存中,即使在数据库中修改了资源信息,系统也不会再次去从数据库中读取资源信息。这就造成了每次修改完数据库后,都需要重启系统才能时..
阅读全文
摘要:转载http://downpour.iteye.com/blog/319965论坛上看了不少Spring Security的相关文章。这些文章基本上都还是基于Acegi-1.X的配置方式,而主要的配置示例也来自于SpringSide的贡献。 众所周知,Spring Security针对Acegi的一个重大的改进就在于其配置方式大大简化了。所以如果配置还是基于Acegi-1.X这样比较繁琐的配置方式的话,那么我们还不如直接使用Acegi而不要去升级了。所以在这里,我将结合一个示例,重点讨论一下Spring Security 2是如何进行配置简化的。 搭建基础环境 首先我们为示例搭建基本...
阅读全文
摘要:转载http://www.blogjava.net/youxia/archive/2008/12/07/244883.html在SpringSide 3的官方文档中,说安全框架使用的是Spring Security 2.0。乍一看,吓了我一跳,以为Acegi这么快就被淘汰了呢。上搜索引擎一搜,发现原来Spring Security 2.0就是Acegi 2.0。悬着的心放下来了。虽然SpringSide 3中关于Acegi的配置文件看起来很不熟悉,但是读了Acegi 2.0的官方文档后,一切都释然了。先来谈一谈Acegi的基础知识,Acegi的架构比较复杂,但是我希望我下面的只言片语能够把它说
阅读全文
摘要:为什么要采用JSTL? 在核心JSP标记上使用JSTL有以下几大优势。 首先,JSTL现在采用独立于JSP标记的规范来定义。因此,即使JSP规范发生改动,也可以保证JSTL标记的一致性。容易受到JSP容器变更影响的许多应用程序都将受益于JSTL规范. 其次,JSTL具有比核心JSP标记更强大的功能,正如您在最佳实践系列中所视,c:import不仅可以导入其它站点的URL,而且,它还可以导入jsp:include标记不可用的更为复杂的内容。 最后,JSTL使用自己的表达式语言(通常简称为EL)。JSTL EL可以相当灵活地写入JSP代码,是对核心JSP语言的有力补充。JSTL的c:import在
阅读全文
摘要:转自http://mislay.iteye.com/blog/4113231.spring security初体验applicationContext.xmlXml代码<beans:beansxmlns="http://www.springframework.org/schema/security"xmlns:beans="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:sch
阅读全文
摘要:转载自http://blog.csdn.net/yuanzhuohang/article/details/7233752本人按照mkyong.com的example配置spring security3,死活不成功,后来通过查看tomcat日志文件,找到异常信息,搜索到本篇文章,在本文章的提示下解决了spring security3配置的问题今天配置Spring Security的时候遇到了这样的问题No bean named 'springSecurityFilterChain' is defined在我的web.xml中关于springSecurityFilterChain的
阅读全文
摘要:文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实方便了很多。比如读取一个文件:Java代码//byFileUtilsList<String>lines=FileUtils.readLines(file,"UTF-8");//byIOUtilsList<String>lines=IOUtils.readLines(newFi
阅读全文
摘要:获取数据库的相关信息:1.获得数据库的一些相关信息2.获得该用户下面的所有表3.获得该用户下面的所有视图4.获得数据库中所有方案名称 5.获得表或视图中的所有列信息6.获得一个表的索引信息7.获得一个表的主键信息8.获得一个表的外键信息[java]view plaincopyprint?packagecom.zsw.test;importjava.sql.Connection;importjava.sql.DatabaseMetaData;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLExcept
阅读全文
摘要:随着项目的需要,对于数据库支持要求越多越好,最好是Generic JDBC Connection。为此,笔者要求项目程序内只允许使用JDBC接口。在此条件下如何获取表的字段信息?有哪几种方式?都适用吗?字段信息字段在表里就是一个Column,关于Column在JDBC里面有20多个参数来描述它,称为元数据,Metadata。包括:1.TABLE_CATString => table catalog (may be null)2.TABLE_SCHEMString => table schema (may be null)3.TABLE_NAMEString => table
阅读全文
摘要:做JAVA的人玩JDBC肯定已经很熟练了,像DriverManager、Connection、ResultSet、Statement这些基本类大家肯定很常用啦,我不赘述那些诸如注册JDBC驱动、创建连接、获取数据集的API了,在这我介绍一些写框架时常用的API,大家共同学习吧。ResultSetMetaData获取ResultSet对象的元数据信息 以Hibernate的Session.get(class,id)为例,该api是根据主键id获取class映射表的一条数据,这里只要class参数传入不同,则获取的表也不同,然而数据库那么多表,不同表的字段个数又不同,如何准确把表字段映射到clas
阅读全文
摘要:JSTL使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错。因此JSTL内置了几个用于字符串操作的方法,可以直接在表达式中使用,大大的简化了代码,提供代码的可读性。在JSTL的表达是中要使用一个函数,其格式如下${ns:methodName(args....)}在
阅读全文
摘要:转载http://qihigh-hotmail-com.iteye.com/blog/1329696二进制的与、或、非运算特殊用法的不同运用场合:1.权限控制 下面我用几个数字来代表增,删,改,查。(注:1带有有权限,有几个1,就代表有几个权限,1的位置不同,所带表的权限也不同)Java代码1---------增--------(转二进制)-----(0001)2---------删----------------------(0010)4--------改----------------------(0100)8--------查----------------------(1000)管理员
阅读全文
摘要:转载http://blog.csdn.net/mingshuo0615/article/details/6085248作为一名Java开发人员你一定想知道如何在Spring应用中使用新的Ehcache注解功能;是吧?ehcache-spring-annotatios是获得Apache认证的一个开源项目;它大大简化了在Spring应用中基于业界使用广泛的Ehacche-2.0版本实现缓存的技术,1.1.2版本的ehcache-spring-annotations刚刚发布不久,在本文中,我将会介绍如何在一个web工程时使用ehcache-spring-annotations实现缓存机制。创建一个W
阅读全文
摘要:转载http://mxsfengg.blog.163.com/blog/static/2637021820083225206732/大多数的应用程序将数据存储在关系数据库、xml文件中。对这样的数据进行搜索是很常见的应用。所谓的DataImportHandler提供一种可配置的方式向solr导入数据,可以一次全部导入,也可以增量导入。概览目标 能够读取关系数据库中的数据。 通过可配置的方式,能够将数据库中多列、多表的数据生成solr文档 能够通过solr文档更新solr 提供 通过配置文件就能够导入所有数据的能力 能够发现并处理 由insert、up...
阅读全文
摘要:转载 http://www.ibm.com/developerworks/cn/java/j-spatial/简介:不管是通过支持 GPS 的智能手机查找最近的咖啡馆,还是通过社交站点查找附近的朋友,或是查看特定城市中运输某种商品的所有货车,越来越多的人和企业都使用位置感知的搜索服务。创建位置感知搜索服务通常属于昂贵的专用解决方案的一部分,并且一般由地理空间专家完成。不过,很流行的开源搜索库 Apache Lucene 和强大的 Lucene 搜索服务器 Apache Solr 最近添加了空间位置功能。Lucene 和 Solr 专家 Grant Ingersoll 将逐步向您介绍空间搜索的基
阅读全文
摘要:ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会
阅读全文
摘要:转载http://blog.csdn.net/nomads前言:本文指在介绍Spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基本概念。目标是使读者能够对JdbcTemplate快速地掌握和使用。准备:1. Spring的基本概念Spring框架核心的思想就是建立一个Java对象的大工厂,用户只要给工厂一个指令,工厂就能将用户需要的对象根据配置文件组装好返还给用户。用户需要做的许多工作则可以写成简单的配置文件。2.丑陋的JDBC代码Connection con= null;PreparedStatement pStmt=null;Re
阅读全文
摘要:pring jdbc包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate和NamedParameterJdbcTemplate,我们可以先从JdbcTemplate入手,领略一下这个类的便利和优雅。1、使用JdbcTemplate进行数据访问:初始化JdbcTemplate初始化JdbcTemplate很容易,只需要向它的构造方法传入它所使用的DataSource便可以。如果使用Jakarta Commons DBCP,那么初始化代码如下所示:1BasicDataSource dataSource =newBasicDataSource();2dataSource
阅读全文
摘要:使用DataSourceUtils进行Connection的管理由上节代码可知,JdbcTemplate在获取Connection的时候,并不是直接调用DataSource的getConnection(),而是调用了如下的代码:1Connection con = DataSourceUtils.getConnection(getDataSource());为什么要这么做呢?实际上,如果对于一个功能带一的JdbcTemplate来说,调用如下的代码就够了:1Connection con = dataSource.getConnection();只不过,spring所提供的JdbcTemplate
阅读全文
摘要:Spring提供了两种使用JDBC API的最佳实践,一种是以JdbcTemplate为核心的基于Template的JDBC的使用方式,另一种则是在JdbcTemplate基础之上的构建的基于操作对象的JDBC的使用方式。基于Template的JDBC的使用方式该使用方式的最初设想和原型,需要追溯到Rod Johnson在03年出版的Expert One-on-One J2EE Design and Development,在该书的Practical Data Access(数据访问实践)中,Rod针对JDBC使用中的一些问题提出了一套改进的实践原型,并最终将该原型完善后在Spring框架中发
阅读全文
摘要:用于属性的转换,是BeanPostProcessor的一种,比如有如下两个java类:01packagecom.google.spring.applicationContext;0203publicclassComputer04{05privateString name;0607publicComputer()08{0910}1112publicComputer(String name)13{14this.name = name;15}1617publicString getName()18{19returnname;20}2122publicvoidsetName(String name)2
阅读全文
摘要:事件实现依赖ApplicationEvent抽象类和ApplicationListener接口,applicationContext发布(publishEvent)了事件以后,ApplicationListener的onApplicationEvent监听之:Java代码如下:01packagecom.uqee.spring.applicationContext;0203importorg.apache.commons.logging.Log;04importorg.apache.commons.logging.LogFactory;05importorg.springframework.co
阅读全文
摘要:转载 https://github.com/springside/springside4/wiki/TutorialCRUD页面教程 Page History1. 数据库设计在src/resouce/sql/schema 中手工编写创建表的sql create table acct_user ( id bigint generated by default as identity, email varchar(255), login_name varchar(255) not null unique, name varchar(255), password varchar(255), ...
阅读全文
摘要:原来做过用xml存储数据的自动完成功能,与本文思路类似Let us implement Autocomplete feature in Spring MVC application using JQuery. Autocomplete is a feature you”ll see in almost all good web apps. It allows user to select proper values from a list of items. Adding this feature is recommended if the field has multiple ( >
阅读全文
摘要:上文中介绍了定时器实现实时索引数据的解决方案,本文对其进行补充,介绍数据导入的配置1 配置RequestHandler<!--DataImportHandler--><requestHandlername="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler"><lstname="defaults"><strname="config">db/db-data-config.xml
阅读全文
摘要:企业要求数据表的数据更新后能够实时的被搜索引擎搜索到,查找solr的DataImport的文档提到了一个定时器实现这种实时要求的解决方案实现方法:1 配置监听器web.xml<listener><listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class> </listener>2 引入jar文件注:如果用的是jre6,官方下载的jar文件要重新编译,貌似是版本不兼容jar文件包括三个类(1) 监听器Applicat
阅读全文
摘要:定时任务的需求在众多应用系统中广泛存在,在Spring中,我们可以使用三种不同的定时机制,下面一一描述并加以比较1. 基于Quartz的定时机制下面详细解释这个类图中涉及的关键类及其使用场景1.1. SchedulerFactoryBean这是Spring中基于Quartz的定时机制入口,只要Spring容器装载了这个类,Quartz定时机制就会启动,并加载定义在这个类中的所有triggerSpring配置范例:[xhtml:nogutter:collapse]+ expand sourceview plaincopy1.2. CronTriggerBean实现了Trigger接口,基于Cro
阅读全文
摘要:在目前的ERP系统中存在着大量的定时任务。为了能够自动处理ERP系统中的定时任务,采用基于Quartz的企业任务调度框架,在无锡烨隆ERP系统的8D管理模块中设计邮件提醒定时器框架,减少了人工干涉,提高了管理效率。Quartz框架具有完善的任务调度服务功能,允许开发人员灵活地定义调度规则,并且操作非常简单。0 引言 企业资源计划(Enterprise Resource Planning,ERP)是基于计算机信息技术和管理科学的最新发展,以计算机信息技术为基础平台,结合先进的企业科学管理理念,充分调配和平衡企业各方面的资源,并以最科学的方式整合企业资源,为企业决策层、管理层和操作层提供项目解决方
阅读全文
摘要:http://mxsfengg.iteye.com/blog/277913本文主要讨论solr中的dataImportHandler机制,对这个不熟的朋友,可以先看下。solr wiki中的dataimporthandler这篇文章,笔者也对dataimporthandler进行了一些翻译,不过效果不是很好,有兴趣的朋友也可以参考一下。http://mxsfengg.blog.163.com/blog/static/26370218200810250524813/。 想对比较多的数据建立索引,当然要考虑一个量的问题。之前怀疑sqlEntityProcessor是一条条的去数据库中取数据的,因为
阅读全文
摘要://Copyright2007Christiand'Heureuse,InventecInformatikAG,Zurich,Switzerland//www.source-code.biz,www.inventec.ch/chdh////Thismoduleismulti-licensedandmaybeusedundertheterms//ofanyofthefollowinglicenses:////EPL,EclipsePublicLicense,V1.0orlater,http://www.eclipse.org/legal//LGPL,GNULesserGeneralPub
阅读全文
摘要:1、LRUCache的实现分析在分析LRUCache前先对LinkedHashMap做些介绍。LinkedHashMap继承于HashMap,它使用了一个双向链表来存储Map中的Entry顺序关系,这种顺序有两种,一种是LRU顺序,一种是插入顺序,这可以由其构造函数public LinkedHash...
阅读全文
摘要:本文将介绍Solr查询中涉及到的Cache使用及相关的实现。Solr查询的核心类就是SolrIndexSearcher,每个core通常在同一时刻只由当前的SolrIndexSearcher供上层的handler使用(当切换SolrIndexSearcher时可能会有两个同时提供服务),而Solr的...
阅读全文
摘要:http://guoyunsky.iteye.com/blog/761308最近要使用Solr做分布式搜索,自己一开始也是从网上搜集一些资料照着做.其中发现对Solr分布式搜索有个误区,会导致搜索结果不正确.比如我这里有两个Shand:1)http://localhost:8080/solr1.4/core0/2)http://localhost:8080/solr1.4/core1/ 我要从中找出查询为110排名为前30的数据,于是我用以下URL: 1.http://localhost:8080/solr1.4/core0/select?q=110&shards=localhost:
阅读全文
摘要:http://guoyunsky.iteye.com/blog/759148Solr有个很方便的处理器叫DataImportHandler,可以通过配置配置db-data-config.xml配置各种数据源然后从中导入数据进行索引,很方便我们进行开发.但是之前从数据库导入数据一直有个问题,就是如果数据库中数据过大,就会导致内存溢出.自己经过阅读源码以及发邮件到Solr邮件列表,终于找到了解决办法,这里拿出来共享. 这里我的Solr版本是Solr1.4.0,数据库是Sql Server2005.其他数据库可能有些不适用(请在其他数据库运行成功的同学也分享下),但根据这个思路应该都有自己的解决方案
阅读全文