Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Alfresco端点URL是否在Java中可用_Java_Spring Boot_Aws Lambda_Aws Sdk_Alfresco Maven - Fatal编程技术网

检查Alfresco端点URL是否在Java中可用

检查Alfresco端点URL是否在Java中可用,java,spring-boot,aws-lambda,aws-sdk,alfresco-maven,Java,Spring Boot,Aws Lambda,Aws Sdk,Alfresco Maven,您好,我已经创建了一个Lambda函数,并尝试在检查URL可用性时检查我的一个端点URL(Alfresco进程)是否可用。代码完全适用于http URL而不是http 我的要求是,如果端点URL不可用,我必须使用SES发送邮件,同时检查Https URL的可用性 错误:java.net.ConnectException:连接被拒绝:连接 这是我的示例代码 package com.Firstlambda; import com.amazonaws.auth.AWSStaticCredentia

您好,我已经创建了一个Lambda函数,并尝试在检查URL可用性时检查我的一个端点URL(Alfresco进程)是否可用。代码完全适用于http URL而不是http

我的要求是,如果端点URL不可用,我必须使用SES发送邮件,同时检查Https URL的可用性

错误:java.net.ConnectException:连接被拒绝:连接

这是我的示例代码


package com.Firstlambda;

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
import com.amazonaws.services.simpleemail.model.*;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;

public class test {
    public static void main(String[] args) throws IOException {

        BasicAWSCredentials creds = new BasicAWSCredentials("xxxxxxx",
                "xxxxxxxx");

        final String FROM = "xxxxxx";
        final String TO = "xxxxxx";
//        final String CONFIGSET = "xxxxx";
        final String SUBJECT = "Amazon SES test (AWS SDK for Java)";


        final String HTMLBODY = "<h1>Amazon SES test (AWS SDK for Java)</h1>"
                + "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>"
                + "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>"
                + "AWS SDK for Java</a>";


        final String TEXTBODY = "This email was sent through Amazon SES "
                + "using the AWS SDK for Java.";

        //String GetStaus = getStatus("https://www.youtube.com");
        String GetStaus = getStatus("http://localhost:9020/OCR/test");

        if (GetStaus.toLowerCase().equals("green")) {
            AmazonSimpleEmailService client =
                    AmazonSimpleEmailServiceClientBuilder.standard()
                            .withCredentials(new AWSStaticCredentialsProvider(creds))
                            .withRegion(Regions.US_EAST_1).build();

            SendEmailRequest request = new SendEmailRequest()
                    .withDestination(
                            new Destination().withToAddresses(TO))
                    .withMessage(new Message()
                            .withBody(new Body()
                                    .withHtml(new Content()
                                            .withCharset("UTF-8").withData(HTMLBODY))
                                    .withText(new Content()
                                            .withCharset("UTF-8").withData(TEXTBODY)))
                            .withSubject(new Content()
                                    .withCharset("UTF-8").withData(SUBJECT)))
                    .withSource(FROM);
            client.sendEmail(request);
        }
        System.out.println("Email sent!");
    }


    public static String getStatus(String url) throws IOException {

        String result = "";
        try {
            URL siteURL = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) siteURL
                    .openConnection();
            connection.setRequestMethod("GET");
            connection.connect();

            int code = connection.getResponseCode();
            if (code == 200) {
                result = "Green";
            }
        } catch (Exception e) {
            result = "->Red<-";
        }
        return result;
    }
}

java.net.ConnectException: Connection refused: connect
    at java.base/java.net.PlainSocketImpl.connect0(Native Method)
    at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
    at java.base/java.net.Socket.connect(Socket.java:591)
    at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285)
    at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
    at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1075)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:163)
    at com.Firstlambda.test.getStatus(test.java:70)
    at com.Firstlambda.test.main(test.java:35)


包com.Firstlambda;
导入com.amazonaws.auth.AWSStaticCredentialsProvider;
导入com.amazonaws.auth.BasicAWSCredentials;
导入com.amazonaws.regions.regions;
导入com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
导入com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
导入com.amazonaws.services.simpleemail.model.*;
导入java.io.IOException;
导入java.net.HttpURLConnection;
导入java.net.URL;
公开课考试{
公共静态void main(字符串[]args)引发IOException{
BasicAWSCredentials creds=新的BasicAWSCredentials(“xxxxxxx”,
“xxxxxxxx”);
来自=“xxxxxx”的最终字符串;
最后一个字符串到=“xxxxxx”;
//最终字符串CONFIGSET=“xxxxx”;
最终字符串SUBJECT=“Amazon SES测试(AWS SDK for Java)”;
最终字符串HTMLBODY=“Amazon SES测试(AWS SDK for Java)”
+“此电子邮件是使用”;
final String TEXTBODY=“此电子邮件是通过Amazon SES发送的”
+“使用AWS SDK for Java。”;
//字符串getStatus=getStatus(“https://www.youtube.com");
字符串getStatus=getStatus(“http://localhost:9020/OCR/test");
if(GetStaus.toLowerCase().equals(“绿色”)){
AmazonSimpleEmailService客户端=
AmazonSimpleEmailServiceClientBuilder.standard()
.具有证书(新AWSStaticCredentialsProvider(creds))
.withRegion(Regions.US_EAST_1).build();
SendEmailRequest=新的SendEmailRequest()
.带目的地(
新目标()。带ToAddress(TO))
.withMessage(新消息()
.withBody(新机构()
.withHtml(新内容()
.带字符集(“UTF-8”).带数据(HTMLBODY))
.withText(新内容()
.withCharset(“UTF-8”).withData(文本体)))
.withSubject(新内容()
.带字符集(“UTF-8”).带数据(主题)))
.来源(来源);
客户端。发送电子邮件(请求);
}
System.out.println(“发送电子邮件!”);
}
公共静态字符串getStatus(字符串url)引发IOException{
字符串结果=”;
试一试{
URL siteURL=新URL(URL);
HttpURLConnection连接=(HttpURLConnection)站点URL
.openConnection();
connection.setRequestMethod(“GET”);
connection.connect();
int code=connection.getResponseCode();
如果(代码==200){
结果=“绿色”;
}
}捕获(例外e){

结果="->红色以上代码工作正常。这是我所在组织的代理问题。如果有人面临相同问题,请联系贵组织的管理团队,检查是否存在防火墙问题。这是我所在组织的代理问题。如果有人面临相同问题,请联系贵组织的管理团队,检查是否存在任何防火墙问题防火墙问题

您的getStatus()方法不需要抛出IOException,因为您已经捕获了该方法中的所有类型的异常。是否仅捕获ConnectException?我已尝试从方法getStatus()中删除IOException但我仍然得到了HTTP的URL ALONET的相同错误,这不是根本原因,也不是解决方案。您根本不需要“抛出IOException”。如果发布完整的堆栈跟踪,这可能会有所帮助。请查看此链接是否有助于您:您的getStatus()方法不需要抛出IOException,因为您已经捕获了该方法内部的所有类型的异常。您是否只捕获了ConnectException?我已尝试从我的方法getStatus()中删除IOException,但对于HTTP的URL ALONET,我仍然收到相同的错误,这不是根本原因,也不是解决方案。您根本不需要“抛出IOException”。如果发布完整的堆栈跟踪,可能会有所帮助。请查看此链接是否有助于您: