在EM中将EMF +(非WMF / EMF)文件转换为PNG

问题: 我有一个增强型Metafile Fromat Plus Extension EMF +的图像。 我需要使用java将此文件转换为PNG图像文件。 尝试解决java中的问题: Apache Batik不支持EMF +格式(Batik仅支持WMF格式)。 FreeHEP也不支持EMF + 。 它可以将EMF转换为SVG ,然后将SVG转换为PNG 。 我希望它可以帮助: EMF2SVG.main( new String[] {inputMetaFileName,ontputSvgFileName}); 此语句必须将EMF转换为SVG ,但会出现exception: 位于org.freehep.graphicsio的org.freehep.graphicsio.exportchooser.AbstractExportFileType.getGraphics(AbstractExportFileType.java:261)的org.freehep.graphicsio.exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:248)中的java.lang.NullPointerException。 exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:282)org.freehep.graphicsio.emf.EMFConverter.export(EMFConverter.java:81)at org.freehep.graphicsio.emf.EMF2SVG.main(EMF2SVG.java:27) 我用过这里的代码: try { // read the EMF file EMFRenderer emfRenderer = new EMFRenderer( new EMFInputStream( new ByteArrayInputStream(emfBytes))); EMFPanel emfPanel = new EMFPanel(); emfPanel.setRenderer(emfRenderer); // prepare Graphics2D FileOutputStream […]

在1.6 VM上运行“-target 1.5”生成的Java类文件的性能影响?

在几个月前将我的整个设置从Java 1.5迁移到1.6(J2EE,Tomcat)之后,我才意识到Maven仍然配置为通过Sun的javac参数“-target 1.5”生成针对1.5的类文件。 将“-target 1.5”更改为“-target 1.6”时,我可以期待任何性能提升吗?

Java Tomcat LDAP身份validation

由于我使用Tomcat6作为servlet容器运行Java,因此我发现使用Tomcat JNDIRealmfunction是合适的,这样LDAP用户就可以登录我的站点而无需任何额外的工作。 我正在使用的LDAP服务器是Ubuntu上的OpenLDAP 。 除此之外,我还通过https连接使用基于表单的身份validation登录页面。 我通过LDAP找到了两个非常好的身份validation用户示例, 在这里和这里 ,它们都实现了我几乎实现的目标。 为何几乎实现? 当我尝试使用错误的凭据登录时,我已适当地发送到 , login-failed.html 。 当我的凭据良好并且我成功进行身份validation后,我开始为网站中的所有url获取403 。 我无法删除403错误(甚至不是登录页面!),除非我重新启动Tomcat。 我怀疑原因是因为我没有在领域中设置roles或正确设置其他配置文件。 为了简洁起见,我将相关的配置文件摘录放在pastebin上 : Tomcat server.xml域 相关的tomcat-users.xml部分 相关的web.xml部分 基本的LDAP结构 ,破折号表示树结构 请注意,基于Tomcat的auth工作正常,因为角色很容易附加到tomcat-users.xml的用户。 因此,我认为在成功通过身份validation后,从LDAP获取经过身份validation的用户角色是一个问题。 TL / DR 我在将Tomcat连接到LDAP身份validation时遇到配置问题。 用户数据正确获取,但不是用户的角色。 可根据要求提供LDAP日志消息;) 更新 :我在这里粘贴了LDAP数据。

自动装箱和性能

我有一个应用程序,我执行数十万计算。 目前我们所有的价值都是双打。 我正在使用JFormula引擎进行大部分计算,并注意到api采用了双参数,因此当我传入Double时会发生一些自动装箱。 我已经阅读了一些文章,并创建了一些简单的测试,并且确实注意到了性能损失,但我仍然试图弄清楚通过我的代码并修复它所花费的时间,值得任何性能改进。 我想知道是否有其他人通过使用原语获得了类似的东西和性能提升的经验?

关于Hibernate的createQuery()的空指针

当我尝试使用createQuery()运行HQL查询时,我正在努力找到空指针exception的底部。 运行查询的代码非常简单。 最初我有一个我正在调用的命名查询,但只是为了使事情更简单并消除任何复杂性我正在这样做(springwildlife是包,而Species是类/实体): Query q = session.createQuery(“SELECT s FROM springwildlife.Species s”); (顺便说一句:我也曾尝试使用包装名称和包装名称。我还尝试过更简单的“FROM springwildlife.Species”查询) 我已经创建了一个XML映射(species.hbm.xml),如下所示: species_id_seq 在我的hibernate.cfg.xml文件中,我像这样拉入映射: 我的类/实体看起来像这样: package springwildlife; public class Species { // properties here public Species() { } // sets, gets, etc. } 有没有人知道发生了什么? 我花了很多时间试图追踪它而且我受到了阻碍。 (我不确定它是否相关,但为了以防万一,我使用Resin作为我的服务器而IntelliJ作为我的IDE) 这是堆栈跟踪(SpeciesFactory.java中的第68行是对createQuery的调用): [11-06-02 11:19:26.726] {http:// *:8080-2} org.springframework.web.util.NestedServletException:请求处理失败; 嵌套exception是java.lang.NullPointerException 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656) 在org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:119) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:96) 在com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109) 在com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156) 在com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95) 在com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287) 在com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792) 在com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) […]

单一RMI服务的简单入口点?

我有几个服务导出RMI接口。 他们曾经通过创建自己的注册表(使用LocateRegistry.createRegistry )并在那里绑定它来提供此function。 但是,当服务作为单独的应用程序在同一个VM(Tomcat)中运行时,这变得不可能,因为由于某种原因,那里只能有一个注册表。 我通过使用所有服务的中央注册表来解决这个问题。 即便如此,我对注册表的多对象注册表角色,只是它的入口点设施并不感兴趣。 然而,中央注册表引入了更多的复杂性(例如,它必须首先启动,它必须具有它注册的服务接口)。 有没有办法让每个服务独立地提供其RMI接口的入口点,同时让它们在同一个VM中运行(这是托管细节,而不是设计的一部分)?

从url中检索信息

我想制作一个程序,将一些信息检索到一个url。 例如,我从下面给出了url 如何检索“TAGS”选项卡下方的所有单词,如 Black Library幻想Thanquol&Boneripper Thanquol和Bone Ripper Warhammer? 我正在考虑使用java,并设计一个数据挖掘包装器,但我不知道如何启动。 有人能给我一些建议吗? 编辑:你给了我很好的帮助,但我想问别的。 对于每个标签,当我们按下“数字”按钮时,我们可以看到每个标签的使用次数。 我该如何检索该号码呢?

两个相等的组合键不能到达相同的减速器

我正在使用MapReduce框架在Java中创建Hadoop应用程序。 我只使用文本键和输入和输出值。 在减少到最终输出之前,我使用组合器进行额外的计算步骤。 但我有一个问题,键不会去同一个reducer。 我在组合器中创建并添加这样的键/值对: public static class Step4Combiner extends Reducer { private static Text key0 = new Text(); private static Text key1 = new Text(); public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { key0.set(“KeyOne”); key1.set(“KeyTwo”); context.write(key0, new Text(“some value”)); context.write(key1, new Text(“some other value”)); } } public static class Step4Reducer […]

Androidarrays与Gson的Sharedpreferences

我需要创建一个最近5个调用日期的数组。 我知道我必须在arrays上保存日期,但我不知道如何重新排序其他记录以将最后一个呼叫日期保留为第一条记录。 并且始终只保留5条记录 目标是保存最后一个调用字符串并添加到数组中,之后我重新排序并仅维护5条记录,之后我使用FlexJson创建一个字符串并保存在sharedpreferences上。 有谁有这个完整的过程? 在这里我正在做什么,但到处都是错误: 保存 SimpleDateFormat df = new SimpleDateFormat(“HH:mm:ss dd-MM-yyyy”, Locale.getDefault()); Calendar calendar = Calendar.getInstance(); String currentDateTimeString = df.format(calendar.getTime()); List textList = new ArrayList(); JSONSerializer ser = new JSONSerializer(); textList.add(currentDateTimeString); String jsonText = ser.deepSerialize(textList); editor.putString(“lastCall”, jsonText); editor.commit(); 读: String lastCall = callLogPreferences.getString(“lastCall”, null); JSONDeserializer<List> der = new JSONDeserializer(); List textList = der.deserialize(lastCall); […]

小程序打印; Applet放弃安全权限; Windows7和Java7

使用Java Liveconnect能够通过applet从浏览器访问打印机,对于访问权限我已经添加了permission java.lang.RuntimePermission “queuePrintJob”; 在C:\Program Files (x86)\Java\jre7\lib\security\java.policy文件中。 但我仍然收到以下警告信息 使用: Java Plug-in 10.9.2.05; JRE版本1.7.0_09-b05 Java HotSpot(TM)客户端VM 但是相同的签名小程序在xp机器上使用java7正常工作。 即使我检查Always allow…. ,它仍然一次又一次地显示警告。 我在堆栈溢出中完全搜索但无法找到正确的修复程序。 任何人都可以建议如何解决这个问题?