Weblogic 12.1.3 PrivilegedActions class not found

匿名 (未验证) 提交于 2019-12-03 08:48:34

问题:

i create a simple we project that call a jms queue and put in a message.

Here the code:

public class QueueSend {  // Defines the JNDI context factory.  public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";   // Defines the JMS context factory.  public final static String JMS_FACTORY="jms/MyConnectionFactory";   // Defines the queue.  public final static String QUEUE="jms/MyTestQueue";   private QueueConnectionFactory qconFactory;  private QueueConnection qcon;  private QueueSession qsession;  private QueueSender qsender;  private Queue queue;  private TextMessage msg;   /**   * Creates all the necessary objects for sending   * messages to a JMS queue.   *   * @param ctx JNDI initial context   * @param queueName name of queue   * @exception NamingException if operation cannot be performed   * @exception JMSException if JMS fails to initialize due to internal error   */  public void init(Context ctx, String queueName)     throws NamingException, JMSException  {     qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);     qcon = qconFactory.createQueueConnection();     qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);     queue = (Queue) ctx.lookup(queueName);     qsender = qsession.createSender(queue);     msg = qsession.createTextMessage();     qcon.start();  }   /**   * Sends a message to a JMS queue.   *   * @param message  message to be sent   * @exception JMSException if JMS fails to send message due to internal error   */  public void send(String message) throws JMSException {     msg.setText(message);     qsender.send(msg);  }   /**   * Closes JMS objects.   * @exception JMSException if JMS fails to close objects due to internal error   */  public void close() throws JMSException {     qsender.close();     qsession.close();     qcon.close();  } /** main() method.  *  * @param args WebLogic Server URL  * @exception Exception if operation fails  */  public static void main(String[] args) throws Exception {      Context ic = getInitialContext("t3://localhost:7001");     QueueSend qs = new QueueSend();     qs.init(ic, QUEUE);     readAndSend(qs);     qs.close();  }   private static void readAndSend(QueueSend qs)     throws IOException, JMSException  {         qs.send("ciao");        System.out.println("JMS Message Sent: ciao \n");    }   private static InitialContext getInitialContext(String url)     throws NamingException  {     Hashtable<String, String> env = new Hashtable<String, String>();     env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);     env.put(Context.PROVIDER_URL, url);     return new InitialContext(env);  } } 

When i launch the main, i have this error:

Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/security/service/PrivilegedActions     at weblogic.jndi.WLSJNDIEnvironmentImpl.<clinit>(WLSJNDIEnvironmentImpl.java:57)     at java.lang.Class.forName0(Native Method)     at java.lang.Class.forName(Class.java:264)     at weblogic.jndi.internal.JNDIEnvironment.getJNDIEnvironment(JNDIEnvironment.java:37)     at weblogic.jndi.Environment.<clinit>(Environment.java:92)     at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)     at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)     at javax.naming.InitialContext.init(InitialContext.java:244)     at javax.naming.InitialContext.<init>(InitialContext.java:216)     at test.QueueSend.getInitialContext(QueueSend.java:109)     at test.QueueSend.main(QueueSend.java:86) 

I have founded, with google, that the PrivilegedActions is in the weblogic.security.service (weblogic-api.jar; i have included this jar in my project but internally it has not this class) but is only a problem of the 12.1.3 version?

Thanks for the response

回答1:

I have found a solution.

I have updated to 12.2.1 and generated a wlfullclient.jar. I have added it to Build Library Path and removed the WebLogic Libraries.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!