小编Ada*_*lik的帖子

Orika mapper例外

我使用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)

java exception orika

5
推荐指数
0
解决办法
1056
查看次数

如何将多个操作绑定到键盘事件

我正在尝试制作一个chrome扩展,修改Facebook聊天窗口的活动文本区域中的文本.但是我希望只有当用户按下回车键才能进行更改,这样当文本仍然在textarea中时文本不会改变.我希望它使用javascript发生,并让它感觉它发生在后台,虽然我希望它keydownenter键的事件上被触发.

现在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扩展脚本中所示?非常感谢任何帮助.

javascript facebook keyevent google-chrome-extension

5
推荐指数
1
解决办法
434
查看次数

JUnitParams不使用String数组

考虑这个测试类,使用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)

java junit parameterized-unit-test junitparams

5
推荐指数
1
解决办法
5253
查看次数

如何在Linux中修复PHPStorm 10中的字体渲染?

在Linux中的Java应用程序中,默认字体呈现总是相当丑陋.但是有很好的解决方案 - OpenJDK字体修复(openjdk-fontfix启动板中的PPA).

它在PhPStorm 9和以前的版本中运行良好,但它已停止在10版本中工作.配置中的Java选项是相同的.

有没有办法修复字体渲染?

渲染之前: 渲染之前

渲染后: 渲染之后

java linux fonts intellij-idea phpstorm

5
推荐指数
1
解决办法
3783
查看次数

用于HTTP通信的出站通道适配器与出站网关

我正在使用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)

integration messaging design-patterns spring-integration

5
推荐指数
1
解决办法
1411
查看次数

如果它们通过java包装在缓冲区中,我是否必须明确关闭所有流?

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)

我今天遇到了这个问题,并且不确定它们是否会被关闭,因为它已被包裹,或者是否仍需要独立关闭所有流.

java networking

5
推荐指数
2
解决办法
159
查看次数

实现java中接口和抽象类中存在的方法

我试图理解如果抽象类和接口中都存在方法会发生什么.下面,我发布了一个场景,让你清楚地了解我所指的是什么.

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)

令人惊讶的是,编写此代码时没有编译错误.任何建议都会非常有帮助.

java oop abstract-class interface

5
推荐指数
1
解决办法
2334
查看次数

从类中获取接口中带注释的方法

我想通过反射访问方法。问题是该方法在接口中注释:

\n\n
public interface MyRepository extends CrudRepository<MyClass, Long> {\n\n    @CustomAnnotation\n    MyClass findByName(String name);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如您所看到的,我使用 Spring,它提供了一个将实现此 Repository 接口的类。\n我想创建一个方法,它将获取一个 Repository 并调用所有用@CustomAnnotation.

\n\n
public void do(Repository<?, ?> repository){\n   Method[] methods=repository.getClass().getMethodThatAreAnnotatedInInterfaceWith(CustomAnnotation.class);\n   ....\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

因为接口的实现不会有接口的注释,所以我不知道如何查询这些方法。

\n

java reflection spring

5
推荐指数
1
解决办法
4046
查看次数

如何确保首先调用Spring @EventListener?

实现ApplicationListener接口时,可以选择实现Ordered以指定调用顺序.现在在Spring 4.2中有一个使用@EventListener注释的选项.有没有办法承诺我的事件监听器将首先被调用?

java spring

5
推荐指数
1
解决办法
3224
查看次数

将SmbFile转换为Java IO文件

我的Java应用程序需要访问保存在远程共享文件夹中的大型excel文件(大小为1GB +).我正在使用SmbFile来获取带有身份验证的文件.

注意:下载文件不是主要用于大小原因的选项.

问题是我需要excel文件是Java IO文件而不是SmbFile,因为我用来解析excel 的其他库只接受Java IO文件.

  1. 有没有办法将此SmbFile转换为Java兼容文件?

java smb

5
推荐指数
1
解决办法
1万
查看次数