小编Unk*_*own的帖子

AWS Lambda:如何从简单的java类调用lambda函数

我创建了简单的Lambda函数并将其上传到AWS Lambda.

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Hello implements RequestHandler<String, String> {

    @Override
    public String handleRequest(String input, Context context) {
         String output = "Bonjour, " + input + "!";
         return output;
    }

}

}
Run Code Online (Sandbox Code Playgroud)

我想使用java类从其他项目调用此Lambda函数.我aws-java-sdk-lambda-1.10.22用来调用这个函数.但我无法成功.

这是我的InvokeLambda类,它是一个单独的项目.

import java.nio.ByteBuffer;
import java.nio.charset.Charset;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.lambda.AWSLambdaClient;
import com.amazonaws.services.lambda.model.InvokeRequest;

public class InvokeLambda {
    private static final Log logger = LogFactory.getLog(InvokeLambda.class);
    private static final String awsAccessKeyId = "XXXXXX";
    private …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services aws-lambda

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

JedisCluster:redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException:集群中没有可访问的节点

我试图从 java 连接到 JedisCluster (ElastiCache Redis)。但我收到了 JedisConnectionException,集群中没有可访问的节点。

这是我连接 JedisCluster 的代码

public static void main(String[] args) throws IOException{
        final GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
        poolConfig.setMaxWaitMillis(2000);
        poolConfig.setMaxTotal(300);
        Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
        jedisClusterNode.add(new HostAndPort("mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com",6379));
        jedisClusterNode.add(new HostAndPort("mycachecluster.eaogs8.0002.usw2.cache.amazonaws.com",6379));
        JedisCluster jedisCluster = new JedisCluster(jedisClusterNode,poolConfig);
        System.out.println("Cluster Size...." + jedisCluster.getClusterNodes().size());
        try{
            jedisCluster.set("foo", "bar");
            jedisCluster.get("foo");
        }
        catch(Exception e){
            e.printStackTrace();
        }
        finally{
            jedisCluster.close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

运行这个后我得到的异常

redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
    at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:57)
    at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:74)
    at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:116)
    at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:31)
    at redis.clients.jedis.JedisCluster.set(JedisCluster.java:103)
Run Code Online (Sandbox Code Playgroud)

我检查过

telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 6379
Run Code Online (Sandbox Code Playgroud)

正如AWS Doc …

java redis jedis

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

java.lang.NoSuchMethodError:javax.faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map; 迁移到JSF 2.2后

迁移到JSF 2.2后,我得到以下异常.具体来说,我正在将Mojarra 2.1.17升级到Mojarra 2.2.8.

java.lang.NoSuchMethodError: javax.faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map;
    at org.primefaces.renderkit.RendererUtils.renderPassThroughAttributes(RendererUtils.java:79)
    at org.primefaces.renderkit.CoreRenderer.renderDynamicPassThruAttributes(CoreRenderer.java:119)
    at org.primefaces.renderkit.CoreRenderer.renderPassThruAttributes(CoreRenderer.java:114)
    at org.primefaces.renderkit.BodyRenderer.encodeBegin(BodyRenderer.java:44)
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:823)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1611)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
Run Code Online (Sandbox Code Playgroud)

当我检查UIComponent内部时jsf-api-2.2.8.jar,我可以看到有一种方法Map<String, Object> getPassThroughAttributes(boolean create);.

这是怎么造成的,我该如何解决?

migration jsf nosuchmethoderror jsf-2.2

3
推荐指数
1
解决办法
5262
查看次数