当我在调度程序中使用PortalUtil.getPortalPort(secure)
时,它总是返回-1而不是正确的端口号8080。
boolean secure = "https".equalsIgnoreCase( PropsUtil.get( PropsKeys.WEB_SERVER_PROTOCOL ) );
Company company = CompanyLocalServiceUtil.getCompanies().get(0);
String portalURL = PortalUtil.getPortalURL(company.getVirtualHostname(), PortalUtil.getPortalPort(secure), secure);
如果我从托管bean运行代码,则可以正常工作。
还有其他方法可以从调度程序获取服务器端口吗?
最佳答案
由于您正在执行调度程序中的代码,并且没有对请求对象的引用,因此无法使用PortalUtil获取服务器端口。
您可以尝试这里提到的技巧。 Java EE getting servlet container port
关于java - 由于PortalUtil.getPortalPort(secure)始终返回-1,因此无法在调度程序中获取liferay服务器的url,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18698624/