我计划引入Java规则,目前正在评估Drools以从应用程序外部化(物理地和逻辑地)业务规则.
由于这些业务规则经常由业务部门提供,我希望业务部门通过GUI对规则进行必要的更改.
我已经谷歌搜索集成java Web应用程序+ Drools + Guvnor,我没有得到任何地方.
我的问题:
关于通常简单实现集成Java Application + Drools + Guvnor的任何其他建议都会很棒.
任何指向教程的指针也会为我做.
我想将一个对象集合添加到arrayList,只有当特定属性不为null时.
我正在考虑扩展ArrayList并在子类中实现检查.
另一种方法是在将它放入Arraylist之前检查属性,但这意味着,如果我需要根据逻辑将对象添加到arraylist,我必须分散if检查每个位置.
我想知道你对它的看法......再想一想,这是一种矫枉过正吗?
我要求设计一个通知/发布,其子系统发送电子邮件的应用程序.我计划使用jms发布/订阅(主题)消息来做到这一点
现在的可见性,将有20到30个订阅者,并且将要发布的消息数量将在每天30000到50000个消息的范围内.
我计划使用ActiveMQ JMS + Spring 3 + Tomcat 6实现 问题
我是JMS的新手,我想知道上面的负载是否很高?
我们真的需要在服务器上部署单独的ActiveMQ,还是我们在Webapp中使用嵌入式ActiveMQ就足够了?
单独的ActiveMQ服务器/嵌入式服务器有哪些优点/缺点?
我想知道为什么在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) 码:
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所说的那样抛出?
我正在阅读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程序,它读取目录的内容并打印出文件名和最后修改时间.
我认为的问题是,我正在阅读的保险库非常庞大,并且在某些情况下,单个目录中的文件可能会超过20000.使用文件api
`file.listFiles()`
Run Code Online (Sandbox Code Playgroud)
会创建20000个文件对象,我担心这可能会减慢进程,也可能是内存膨胀.
有没有办法批量即告诉java一次扫描目录50个文件或至少一次迭代一个文件而不是一次加载内存中的所有对象
继承人我所拥有的
询问
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次
我真的很困惑为什么编码值不同
这是完整的代码
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) 你们可以查看以下对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)
查询统计:
指数:
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) java ×7
oracle ×2
sql ×2
abstraction ×1
arraylist ×1
arrays ×1
base64 ×1
comparable ×1
connect-by ×1
directory ×1
drools ×1
encoding ×1
encryption ×1
file-io ×1
guvnor ×1
inheritance ×1
iteration ×1
java-ee ×1
jms ×1
keystore ×1
oracle11g ×1
reusability ×1
scjp ×1
sorting ×1
sql-tuning ×1
static ×1