我使用Orika mapper将Hibernate实体映射到webservice实体.它工作得很完美,但它有时会抛出以下异常.我不知道如何解决它.我用tomcat.
ma.glasnost.orika.MappingException: ma.glasnost.orika.impl.generator.CompilerStrategy$SourceCodeGenerationException: class com.example.hibernate.Product$$EnhancerByCGLIB$$b9465553 is not accessible
at ma.glasnost.orika.impl.generator.MapperGenerator.build(MapperGenerator.java:95)
at ma.glasnost.orika.impl.DefaultMapperFactory.buildMapper(DefaultMapperFactory.java:1046)
at ma.glasnost.orika.impl.DefaultMapperFactory.registerClassMap(DefaultMapperFactory.java:880)
at com.example.mapping.EntityMapper.map(EntityMapper.java:50)
at com.example.mapping.EntityMapper.map(EntityMapper.java:69)
at com.example.ws.helpers.store.ProductHelper.getAll(ProductHelper.java:53)
at com.example.ws.StoreWebService.getProducts(StoreWebService.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:95)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:629)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:588)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:573)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:470)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:295)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:515)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:155)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:189)
at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个chrome扩展,修改Facebook聊天窗口的活动文本区域中的文本.但是我希望只有当用户按下回车键才能进行更改,这样当文本仍然在textarea中时文本不会改变.我希望它使用javascript发生,并让它感觉它发生在后台,虽然我希望它keydown在enter键的事件上被触发.
现在Facebook聊天窗口的textarea的相关JavaScript是:
<textarea class="blah"
onkeydown="window.Bootloader && Bootloader.loadComponents(["control-textarea"],
function() { TextAreaControl.getInstance(this) }.bind(this)); ">
</textarea>
Run Code Online (Sandbox Code Playgroud)
在我的扩展程序的JavaScript文件中.我keydown用这样的东西绑定事件:
//elem is bound to the focussed textarea object
elem.onkeydown = function(evt) {
if(evt.keyCode == 13){
//Some javascript code I want to execute here...
}
};
Run Code Online (Sandbox Code Playgroud)
我认为一旦用户按下该enter键,就会清除textarea并发出某种发布请求.所以我失去了我想用JavaScript修改的文本的范围.我通过按shift+ 检查了输入键绑定是否适用于我的扩展enter,并且它修改了文本没有问题.所以我的脚本运行正常.
但是我希望在清除textarea并发出post请求之前执行我的脚本.我只是不希望用户看到文本被修改.
我可以添加/修改Facebook使用的textarea的键绑定,如上面的google chrome扩展脚本中所示?非常感谢任何帮助.
考虑这个测试类,使用JUnit 4和JUnitParams:
import static junitparams.JUnitParamsRunner.$;
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(JUnitParamsRunner.class)
public class JUnitParamsExample {
private int[] getIntArray() {
int array[] = new int[2];
array[0] = 1;
array[1] = 2;
return array;
}
public Object getInts() {
return $($(getIntArray()));
}
@Parameters(method = "getInts")
@Test
public void testIntArray(int... values) {
//
}
private String[] getStringArray() {
String array[] = new String[2];
array[0] = "a";
array[1] = "b";
return array;
}
public Object getStrings() {
return $($(getStringArray()));
}
@Parameters(method …Run Code Online (Sandbox Code Playgroud) 在Linux中的Java应用程序中,默认字体呈现总是相当丑陋.但是有很好的解决方案 - OpenJDK字体修复(openjdk-fontfix启动板中的PPA).
它在PhPStorm 9和以前的版本中运行良好,但它已停止在10版本中工作.配置中的Java选项是相同的.
有没有办法修复字体渲染?
我正在使用Spring Integration(4.2.2)和Spring Integration Java DSL(1.1.0).我有两种情况需要与HTTP集成其他服务.我不确定是使用出站通道适配器还是出站网关.我想两者都会在技术上有效,但什么是"最佳实践"?
我不是在等待回复中的任何数据,但我会等待响应代码 - 2xx或错误(4xx/5xx).调用者应该阻止调用,如果是HTTP错误响应代码,调用者应该收到异常.当我使用出站通道适配器时,这工作正常,但我想知道使用出站网关是否更可取?
我已经阅读了有关出站通道适配器和出站网关之间区别的一般问题,但我不确定它是如何适用于我的情况的.
我的代码:
@Component
public class Notifier { // this is the client
@Autowired
public MessageChannel notificationChannel;
public void notifySuccess(String applicationNumber) {
// this should block until a HTTP response is received an should throw an exception if HTTP error code was returned
notificationChannel.send(new GenericMessage<>(new SuccessMessage()));
}
}
@Configuration
public class NotificationConfig {
@Bean
public MessageChannel notificationChannel() {
return MessageChannels.direct().get();
}
@Bean
public IntegrationFlow notificationFlow(@Value("${url.notification}") URI notificationUrl) {
return …Run Code Online (Sandbox Code Playgroud) private InputStream input;
private InputStreamReader inputReader;
private BufferedReader reader;
try {
input = new InputStream();
inputStreamReader = new InputStreamReader(inputStream);
reader = new BufferedReader(inputStreamReader);
// do I/O operations
} catch (IOException e) {
Log.d("IOException", "The Data Could Not Be Read =/");
} finally {
try {
reader.close(); // now will this, by default, close all other streams? OR
/*
* input.close(); inputStream.close(); //is this necessary, along with
* reader.close();
*/
} catch (IOException ex) {
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我今天遇到了这个问题,并且不确定它们是否会被关闭,因为它已被包裹,或者是否仍需要独立关闭所有流.
我试图理解如果抽象类和接口中都存在方法会发生什么.下面,我发布了一个场景,让你清楚地了解我所指的是什么.
interface act
{
void read();
}
abstract class enact
{
void read() {
System.out.println("hello");
}
}
public class second extends enact implements act
{
public void read() {
// does method read() correspond to Interface or abstract class?
}
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,编写此代码时没有编译错误.任何建议都会非常有帮助.
我想通过反射访问方法。问题是该方法在接口中注释:
\n\npublic interface MyRepository extends CrudRepository<MyClass, Long> {\n\n @CustomAnnotation\n MyClass findByName(String name);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n正如您所看到的,我使用 Spring,它提供了一个将实现此 Repository 接口的类。\n我想创建一个方法,它将获取一个 Repository 并调用所有用@CustomAnnotation.
public void do(Repository<?, ?> repository){\n Method[] methods=repository.getClass().getMethodThatAreAnnotatedInInterfaceWith(CustomAnnotation.class);\n ....\n}\nRun Code Online (Sandbox Code Playgroud)\n\n因为接口的实现不会有接口的注释,所以我不知道如何查询这些方法。
\n实现ApplicationListener接口时,可以选择实现Ordered以指定调用顺序.现在在Spring 4.2中有一个使用@EventListener注释的选项.有没有办法承诺我的事件监听器将首先被调用?
我的Java应用程序需要访问保存在远程共享文件夹中的大型excel文件(大小为1GB +).我正在使用SmbFile来获取带有身份验证的文件.
注意:下载文件不是主要用于大小原因的选项.
问题是我需要excel文件是Java IO文件而不是SmbFile,因为我用来解析excel 的其他库只接受Java IO文件.
java ×8
spring ×2
exception ×1
facebook ×1
fonts ×1
integration ×1
interface ×1
javascript ×1
junit ×1
junitparams ×1
keyevent ×1
linux ×1
messaging ×1
networking ×1
oop ×1
orika ×1
phpstorm ×1
reflection ×1
smb ×1