是否有一种优雅的方式在 OSGi容器之间或之间使用服务?
它甚至可能吗?
例如,假设我的本地计算机上有一个服务接口.我可以使用哪些方法/技术来通过远程OSGi容器的BundleContext访问该服务接口?
我试图在OSGi(Equinox)环境中使用Hibernate/Spring.如果我明确地将它指向Persistence.xml中的Entity类,它的效果很好:
<class>com.es.t.eee.domain.StuffSource</class>
<class>com.es.t.eee.domain.PostalAddress</class>
Run Code Online (Sandbox Code Playgroud)
我想要的是让Hibernate"找到"所有的Entity类,就像在OSGi环境之外一样.
Hibernate正在寻找@Entities的正确包:
Searching mapped entities in jar/par: bundleresource://34/
WARN 27-07 15:30:24,235 (InputStreamZippedJarVisitor.java:doProcessElements:41):
Unable to find file (ignored): bundleresource://34/
Run Code Online (Sandbox Code Playgroud)
它看起来应该可以正常工作,但是当它在Bundle Jar中查找@Entities时会发生异常,我不知道为什么.我已经包含了Hibernate正在吐出的日志的重要部分.
有没有人有任何想法我做错了什么或这里的问题是什么?
我在用:
这是Hibernate解析Persistence.xml的地方
INFO 27-07 15:30:24,110 (Version.java:<clinit>:15):
Hibernate Annotations 3.4.0.GA
INFO 27-07 15:30:24,110 (Environment.java:<clinit>:543):
Hibernate 3.3.0.SP1
INFO 27-07 15:30:24,110 (Environment.java:<clinit>:576):
hibernate.properties not found
INFO 27-07 15:30:24,126 (Environment.java:buildBytecodeProvider:709):
Bytecode provider name : javassist
INFO 27-07 15:30:24,126 (Environment.java:<clinit>:627):
using JDK …Run Code Online (Sandbox Code Playgroud) 为什么这段代码不能打印异常堆栈跟踪?
public class Playground {
/**
* @param args
*/
public static void main(String[] args) {
startThread();
}
private static void startThread() {
ScheduledExecutorService timer = Executors
.newSingleThreadScheduledExecutor();
Runnable r = new Runnable() {
int dummyInt = 0;
boolean dummyBoolean = false;
@Override
public void run() {
dummyInt = Integer.parseInt("AAAA");
if (dummyBoolean) {
dummyBoolean= false;
} else {
dummyBoolean= true;
}
}
};
timer.scheduleAtFixedRate(r, 0, 100, TimeUnit.MILLISECONDS);
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能得到它?
我希望看到这个:
java.lang.NumberFormatException: For input string: "AAAA"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 当谈到Java线程和并发的世界时,我相当天真.我目前正在努力学习.我做了一个简单的例子来试图弄清楚并发是如何工作的.
这是我的代码:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadedService {
private ExecutorService exec;
/**
* @param delegate
* @param poolSize
*/
public ThreadedService(int poolSize) {
if (poolSize < 1) {
this.exec = Executors.newCachedThreadPool();
} else {
this.exec = Executors.newFixedThreadPool(poolSize);
}
}
public void add(final String str) {
exec.execute(new Runnable() {
public void run() {
System.out.println(str);
}
});
}
public static void main(String args[]) {
ThreadedService t = new ThreadedService(25);
for (int i = 0; i < 100; i++) {
t.add("ADD: …Run Code Online (Sandbox Code Playgroud) 我想使用UUID作为我的JPA对象的ID.
我目前只是使用String来存储UUID.什么会更有效率?
有没有办法在Java数据结构上执行SQL Like Queries或Filtering?
我想通过其中包含的对象的字段过滤ArrayList和HashMap中的对象.
存储人类可读且广泛数据库兼容的UUID的最小方法是什么?
我正在考虑使用十六进制值的某种char数组?
我想让我的PostgreSQL服务器在一段数据发生变化时发出通知,最好是通过JMS,还要考虑任何其他Pub-Sub机制或Callback.
任何想法,如果这是可能的?
是否有可用的Java附加软件包复制此类功能?
我有以下SQL语句:
SELECT ABX.ABX_APO_NUMBER,
COUNT(A1.PROCESS_MODE) AS NUM_PLANNING,
COUNT(A2.PROCESS_MODE) AS NUM_SETUP,
COUNT(A3.PROCESS_MODE) AS NUM_OUTPUT
FROM ABX, USER_INSTANCE U, ACTIVE_PROCESS A1,
ACTIVE_PROCESS A2, ACTIVE_PROCESS A3
WHERE U.ABX_APO_NUMBER (+) = ABX.ABX_APO_NUMBER
AND A1.PROCESS_INSTANCE_NUMBER (+) = U.INSTANCE_NUMBER
AND A1.PROCESS_MODE (+)= 'PLANNING'
AND A2.PROCESS_INSTANCE_NUMBER (+) = U.INSTANCE_NUMBER
AND A2.PROCESS_MODE (+) = 'SETUP'
AND A3.PROCESS_INSTANCE_NUMBER (+) = U.INSTANCE_NUMBER
AND A3.PROCESS_MODE (+) = 'OUTPUT'
GROUP BY ABX.ABX_APO_NUMBER
Run Code Online (Sandbox Code Playgroud)
(+)导致适合PG ...我可以删除它们,这意味着同一件事吗?Postgres将理解的等效内容是什么?
我正在使用java来拆分表单的String:
String stringToSplit = "AAA BBB CCC DDD EEE FFF GGG HHH III JJJ KKK";
Run Code Online (Sandbox Code Playgroud)
我正在使用
String[] tokens = stringToParse.split("\\s");
Run Code Online (Sandbox Code Playgroud)
沿着空格分割字符串,给出:
tokens = {"AAA","BBB","CCC", "DDD","EEE","FFF","GGG","HHH","III", "JJJ", "KKK"}
Run Code Online (Sandbox Code Playgroud)
我现在需要做的是在大多数情况下沿着空白分割,但在特定情况下也要保持一些字符串.例如,我希望"CCC DDD"和"III JJJ KKK"在我拆分时保持完整的字符串.所以我希望我的数组标记为:
tokens = {"AAA","BBB","CCC DDD","EEE","FFF","GGG","HHH","III JJJ KKK"}
Run Code Online (Sandbox Code Playgroud)
我会用什么正则表达式?这可能吗?
java ×7
database ×3
java-ee ×3
sql ×3
equinox ×2
guid ×2
postgresql ×2
uuid ×2
collections ×1
concurrency ×1
exception ×1
hibernate ×1
jms ×1
jpa ×1
oracle ×1
osgi ×1
plsql ×1
publishing ×1
regex ×1
remoting ×1
spring ×1
string ×1
threadpool ×1