小编Sud*_*kar的帖子

如何以及如何整合Java Webapp + drools + Guvnor?

我计划引入Java规则,目前正在评估Drools以从应用程序外部化(物理地和逻辑地)业务规则.

由于这些业务规则经常由业务部门提供,我希望业务部门通过GUI对规则进行必要的更改.

我已经谷歌搜索集成java Web应用程序+ Drools + Guvnor,我没有得到任何地方.

我的问题:

  1. Drools是否支持轻量级GUI来编辑规则?
  2. Drools Guvnor是一个轻量级的GUI,还是有办法让它失败?
  3. 将应用程序集成到Guvnor以阅读规则有多容易?

关于通常简单实现集成Java Application + Drools + Guvnor的任何其他建议都会很棒.

任何指向教程的指针也会为我做.

java drools guvnor drools-guvnor

15
推荐指数
1
解决办法
6018
查看次数

我应该扩展ArrayList以添加非null的属性吗?

我想将一个对象集合添加到arrayList,只有当特定属性不为null时.

我正在考虑扩展ArrayList并在子类中实现检查.

另一种方法是在将它放入Arraylist之前检查属性,但这意味着,如果我需要根据逻辑将对象添加到arraylist,我必须分散if检查每个位置.

我想知道你对它的看法......再想一想,这是一种矫枉过正吗?

java abstraction arraylist reusability

8
推荐指数
1
解决办法
2212
查看次数

ActiveMQ独立服务器部署或嵌入在Spring Webapp中

我要求设计一个通知/发布,其子系统发送电子邮件的应用程序.我计划使用jms发布/订阅(主题)消息来做到这一点

现在的可见性,将有20到30个订阅者,并且将要发布的消息数量将在每天30000到50000个消息的范围内.

我计划使用ActiveMQ JMS + Spring 3 + Tomcat 6实现 问题

  1. 我是JMS的新手,我想知道上面的负载是否很高?

  2. 我们真的需要在服务器上部署单独的ActiveMQ,还是我们在Webapp中使用嵌入式ActiveMQ就足够了?

  3. 单独的ActiveMQ服务器/嵌入式服务器有哪些优点/缺点?

activemq-classic jms setup-deployment java-ee

8
推荐指数
1
解决办法
4596
查看次数

在子类中重新定义静态方法

我想知道为什么在Java中首先允许这个(或者一般的oops)我记得静态方法对于父类和子类都是常见的

public class Redefine extends Parent{
    public static void test () {

    }
}


class Parent{
    public static void test () {

    }
}
Run Code Online (Sandbox Code Playgroud)

Q1:由于重写不支持静态方法,如何既能CLASSE包含相同的方法呢?

Q2:如果在static中更改方法则抛出未定义的异常,而不是编译.为什么会这样.它显然不是压倒一切所以我应该被允许抛出新的例外吗?

public class Redefine extends Parent{
    public static void test () throws Exception{

    }
}
Run Code Online (Sandbox Code Playgroud)

java inheritance static scjp

6
推荐指数
1
解决办法
3669
查看次数

Arrays.sort(object [])不会抛出classcastexception

码:

public class CompareTest {

    public static void main(String[] args) {

        ArrayList list =  new ArrayList();
        (list).add(new CompareTest());  


        Arrays.sort(list.toArray()); //Does not throw Exception , why ?
        Collections.sort(list);   //throws ClassCastException
    }

}
Run Code Online (Sandbox Code Playgroud)

根据Java Doc: Arrays#sort

根据元素的自然顺序,将指定的对象数组按升序排序.数组中的所有元素都必须实现Comparable接口.

为什么阵列#sort,ClassCastException不像JavaDoc所说的那样抛出?

java arrays sorting comparable classcastexception

6
推荐指数
1
解决办法
539
查看次数

Builder模式:首选哪种变体?

我正在阅读Effective Java书籍,并为我将来的参考创建笔记,我遇到了Builder Pattern.

好吧,我明白它是什么以及如何使用它.在这个过程中,我创建了两个构建器模式的示例变体.

我需要帮助列出每个人的差异和优势吗?我当然注意到,Example 1暴露较少的方法,通过较少的限制和更通用,允许它更灵活地使用.

请指出我错过的其他事情?

例1

package item2;

/**
 * @author Sudhakar Duraiswamy
 *
 */
public  class Vehicle {

    private String type;
    private int wheels;

    interface Builder<T>{
        public  T build();
    }

    public static class CarBuilder implements Builder<Vehicle>{
        private String type;
        private int wheels;     

        CarBuilder createVehicle(){
            this.type= "Car";
            return this;
        }

        CarBuilder addWheels(int wheels){
            this.wheels = wheels;
            return this;
        }

        public Vehicle build(){
            Vehicle v = new Vehicle();
            v.type = type;
            v.wheels = wheels;
            return v;
        } …
Run Code Online (Sandbox Code Playgroud)

java builder-pattern effective-java

6
推荐指数
1
解决办法
2197
查看次数

使用文件api读取目录:如何处理包含20000-30000个文件的目录?

我正在编写一个简单的java程序,它读取目录的内容并打印出文件名和最后修改时间.

我认为的问题是,我正在阅读的保险库非常庞大,并且在某些情况下,单个目录中的文件可能会超过20000.使用文件api

    `file.listFiles()` 
Run Code Online (Sandbox Code Playgroud)

会创建20000个文件对象,我担心这可能会减慢进程,也可能是内存膨胀.

有没有办法批量即告诉java一次扫描目录50个文件或至少一次迭代一个文件而不是一次加载内存中的所有对象

java directory iteration file-io

3
推荐指数
1
解决办法
193
查看次数

根据条件在Oracle中动态重复行

继承人我所拥有的

询问

with temp as (
select 11 as x  from dual
union
select 222 as x  from dual
)
select x from temp t,(SELECT 1
          FROM DUAL 
         CONNECT BY ROWNUM <= 3)
Run Code Online (Sandbox Code Playgroud)

产量

X
--
11
222
11
222
11
222
Run Code Online (Sandbox Code Playgroud)

输出我的愿望

X
--
11
11
222    
222
222
Run Code Online (Sandbox Code Playgroud)

基本上我希望行根据列'X'值的长度重复自己.因此,如果值为'abc',则该行应重复3次

sql oracle connect-by oracle11g

3
推荐指数
1
解决办法
2059
查看次数

在存储之前和从KeyStore检索之后,SecretKey的Base64编码值不相同

我真的很困惑为什么编码值不同

这是完整的代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.security.Key;
import java.security.KeyStore;

import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

import org.bouncycastle.util.encoders.Base64;

public class KeyStoreDemo {

    private static final String KEY_STORE_TYPE = "JCEKS";
    private static final String KEY_STORE_NAME = "sampleKeyStore.store";
    private static final String KEY_STORE_PASSWORD = "letmein";


    public static void main(String[] args) throws Exception {
        File storeFile = new File(KEY_STORE_NAME);
        storeFile.createNewFile();

        //Create a keystore
        createKeyStore(KEY_STORE_TYPE, storeFile,KEY_STORE_PASSWORD);

        //Generate a key and store it in keystore
        KeyStore keyStore = loadKeyStore(KEY_STORE_TYPE,storeFile,KEY_STORE_PASSWORD);      


        // Get the KeyGenerator …
Run Code Online (Sandbox Code Playgroud)

java encryption base64 encoding keystore

2
推荐指数
1
解决办法
5263
查看次数

SELECT子句使用IN ...非常慢?

你们可以查看以下对Oracle DB的查询并指出错误:

SELECT t1.name FROM t1, t2 WHERE t1.id = t2.id AND t2.empno IN (1, 2, 3, …, 200)
Run Code Online (Sandbox Code Playgroud)

查询统计:

  • 所用时间:10.53秒.

指数:

  • t2.empno 被编入索引.

  • t1.id 被编入索引.

  • t2.id 被编入索引.

更新


上面的查询只是我使用的查询的示例副本.下面是一个更真实的形式

解释计划 解释计划

查询:

SELECT 
    PRODUCT_REPRESENTATION_SK 
FROM 
    Product_Representation pr 
    , Design_Object do
    , Files files  
    ,EPS_STATUS epsStatus 
    ,EPS_ERROR_CODES epsError
    ,VIEW_TYPE viewTable  
WHERE  
    pr.DESIGN_OBJECT_SK = do.DESIGN_OBJECT_SK 
    AND  pr.LAYER_NAME !='Layer 0' 
    AND  epsStatus.EPS_STATUS_SK = pr.EPS_STATUS  
    AND epsError.EPS_ERROR_CODE = pr.EPS_ERROR_CODE 
    AND viewTable.VIEW_TYPE_ID = pr.VIEW_TYPE_ID 
    AND  files.pim_id = do.PIM_ID 
    AND  do.DESIGN_OBJECT_ID IN
        (
147086,149924,140458,135068,145197,134774,141837,138568,141731,138772,143769,141739,149113,148809,141072,141732,143974,147076,143972,141078,141925,134643,139701,141729,147078,139120,137097,147072,138261,149700,149701,139127,147070,149702,136766,146829,135762,140155,148459,138061,138762.............................................  200 such …
Run Code Online (Sandbox Code Playgroud)

sql oracle sqlperformance sql-tuning

1
推荐指数
2
解决办法
1万
查看次数