我有这个Maven"任务"使用JAXB从XSD文件生成Java类.
<!-- XML to Java classes -->
<plugin>
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>nl.compay.service</generatePackage>
<schemaDirectory>src/main/webapp/compay</schemaDirectory>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
对于XSD类型"User",它会生成一个名为"User"(duh)的类.但是,我还有一个名为"User"的JPA实体类(虽然在不同的包中).我可以更改上面的XML配置,让JAXB为生成的类添加"XML"之类的前缀吗?
我有这个代码
$return = $ep->$method($params);
if ($return === null) {
throw new Exception('Endpoint has no return value');
}
return $return;
Run Code Online (Sandbox Code Playgroud)
有没有办法区分返回null的方法和不返回任何内容的方法?
我想在Java中做这样的事情
public void giveMoney(String userId, int money) {
synchronized (userId) {
Profile p = fetchProfileFromDB(userId);
p.setMoney(p.getMoney() + userId);
saveProfileToDB(p);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当然,对字符串进行同步是不正确的.做这样的事情的正确方法是什么?
我正在使用一个只支持凸多边形形状的游戏物理库(Box2D).但是,我希望关卡生成器能够指定凹多边形而不必担心.
那么,我怎样才能自动将凹多边形分解为凸多边形(甚至是所有三角形).速度会很酷,但实施的简便性更为重要.分手只会在游戏初始化时完成.
(我的语言是Flash/ActionScript 3,但这不重要)
我正在使用Apache Ivy + IvyDE获取项目的依赖项,它们是:
<dependency org="com.google.guava" name="guava" rev="r08" />
<!-- logging -->
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" />
<dependency org="ch.qos.logback" name="logback-classic" rev="0.9.27" />
<!-- database -->
<dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.6.2.Final" />
<dependency org="org.hibernate" name="hibernate-validator" rev="4.1.0.Final" />
<dependency org="org.hibernate" name="hibernate-c3p0" rev="3.6.2.Final" />
<dependency org="mysql" name="mysql-connector-java" rev="5.1.14" />
Run Code Online (Sandbox Code Playgroud)
源代码是Maven和JBoss(Hibernate)存储库.
正如您所看到的,我正在使用logback + SLF4J进行日志记录,但出于某种原因,Ivy也会下载log4j和slf4j-log4j,这会在我的应用程序中引起一些小问题.
有没有办法看到为什么会发生这种情况,看看上面哪个依赖项依赖于log4j?我可以从Ivy/IvyDE生成依赖图/树吗?
那么有没有办法防止这种情况发生?
我想构建一个自定义AutoCloseable类,所以我可以转为:
try {
begin();
doThings();
commit();
} finally {
if (transactionIsActive()) rollback();
}
Run Code Online (Sandbox Code Playgroud)
变得更容易
try (Transaction t = begin()) { // too bad I have to store it in t though I don't use it
doThings();
}
Run Code Online (Sandbox Code Playgroud)
Transaction将在AutoCloseable这里,并在close()其中将适当地提交或回滚事务.
但为了实现这一目标,我需要检测Transaction.close()try块内是否发生异常或者是否正常完成.这有可能吗?
如果它需要从新的异常中解析堆栈跟踪,那就没问题.更简单的编程将值得带来的微小性能打击.
我想用GSON来推导:
"starterItems": {
"Appeltaart": 3,
"Soap_50": 3
}
Run Code Online (Sandbox Code Playgroud)
...进入番石榴ImmutableMap:
private ImmutableMap<String,Integer> starterItems;
Run Code Online (Sandbox Code Playgroud)
我以为我只是使用常规的GSON映射解析,然后制作结果的不可变副本,如下所示:
gb.registerTypeAdapter(ImmutableMap.class, new JsonDeserializer<ImmutableMap>() {
@SuppressWarnings("unchecked")
@Override public ImmutableMap deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
return ImmutableMap.copyOf((Map) context.deserialize(json, Map.class));
}
});
Run Code Online (Sandbox Code Playgroud)
但正如预期的那样,这太简单了(没有类型信息).我收到错误:
com.google.gson.JsonParseException: The JsonDeserializer MapTypeAdapter failed to deserialized json object {"Appeltaart":3,"Soap_50":3} given the type interface java.util.Map
Run Code Online (Sandbox Code Playgroud)
我能做我想做的事吗?
我有一个带有一些对象(类型BaseTexture)的应用程序,destroy当它们不再使用时应该调用一个显式函数.否则他们可能会泄漏一些记忆.这应该在它们被垃圾收集之前完成(显然只能在那时完成),但并不总是这样.
在Java中,我会检测并使用它来记录它finalize,但Javascript中不存在这样的事情.
我可以在Chrome(或其他浏览器)中检测到这一点吗?我不关心它是否有错误,需要标志,只能记录一条简单的消息等,只要它在开发过程中有效.BaseTexture已经销毁的事实可以从其source财产中获取.
我正在创建一个包含文章的动态网站.每篇文章都有一个标题,如"一个人如何吃一只狗并与它一起生活?",而且我现在称之为"URL友好标题",例如"吃狗".
我正在为"URL友好标题"寻找一个更好的词,因为它非常满口.Wordpress称他们为"Post Slug"但我不喜欢这个.这些东西有什么好名字?
我认为Apache会将这些HTTP标头添加到PHP脚本生成的所有响应中:
Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
这适用于实际的动态页面,但我有一些页面,虽然由PHP生成,但大部分是静态的,我希望浏览器缓存它们.
PHP中是否有一种方法可以从响应中删除这些标题,从而激活浏览器的默认缓存规则,如果没有,是否有任何值可以将它们设置为等同于它们不存在?
我宁愿不设置自己的值,因为我希望浏览器使用与Apache本身提供的静态资源相同的缓存规则(不使用mod_cache).
java ×4
php ×2
box2d ×1
class-names ×1
finalizer ×1
friendly-url ×1
gson ×1
http-headers ×1
ivy ×1
java-7 ×1
javascript ×1
jaxb ×1
log4j ×1
physics ×1
polygon ×1
return-value ×1
seo ×1
slug ×1
synchronized ×1
transactions ×1
xjc ×1