RAD (рациональный разработчик приложений) — убирает по сравнению с, публикуют по сравнению с перезапуском

Я в настоящее время использую платформу Spring 3.0 в среде websphere 6.1. IDE, который я использую, является RAD (Рациональный Разработчик приложений) 7.5. Я работал над проблемой вчера вечером, и я нашел, что мой код не составлял 100%, обновленных на сервере после внесения изменения в моей рабочей области. Мой вопрос - то, что является различием от перспективы websphere между следующим:

  1. Перезапуск всего сервера с EAR установлен
  2. Очистка EAR в WebSphere
  3. Нажатие на проект и выбор публикует

Другой Сервер приложений / IDE имеют тот же тип проблем syning при разрабатывании приложений J2EE?

5
задан Jon Lin 17 June 2012 в 07:28
поделиться

1 ответ

DateTime oneEightyAgo = DateTime.Today.AddDays(-180);
-121--1547431-

Я думаю, что знаю, что происходит: на IIS6, а также при отображении подстановочных знаков вам понадобится документ по умолчанию (Default.aspx), который направляет запросы папок обработчику MVC.

Один из них был включен в MVC1 шаблоны проекта, но он был удален в MVC2.

Default.aspx :

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNameSpace._Default" %>

<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%>

и Default.aspx.cs :

using System.Web;
using System.Web.Mvc;
using System.Web.UI;

namespace YourNameSpace
{
    public partial class _Default : Page
    {
        public void Page_Load(object sender, System.EventArgs e)
        {
            // Change the current path so that the Routing handler can correctly interpret
            // the request, then restore the original path so that the OutputCache module
            // can correctly process the response (if caching is enabled).

            string originalPath = Request.Path;
            HttpContext.Current.RewritePath(Request.ApplicationPath, false);
            IHttpHandler httpHandler = new MvcHttpHandler();
            httpHandler.ProcessRequest(HttpContext.Current);
            HttpContext.Current.RewritePath(originalPath, false);
        }
    }
}

Когда вы говорите «Это как если бы маршрутизация не была принята во внимание», я подозреваю, что на самом деле это не так, и это ваша проблема.

-121--2639875-

При использовании RAD используется поведение по умолчанию. При «чистке» он избавляется от скомпилированных объектов и воссоздает их через «build all», затем делает «publish». Когда вы «построить» он строит все, что он считает необходимым, то делает «опубликовать». Когда «построить все», он строит все объекты, затем делает «опубликовать».

Когда вы (или ваша среда IDE с помощью команд выше) публикуете все скомпилированные объекты и развертывает их на сервере, который вы настроили для этого проекта (с помощью горячей замены, если сервер запущен). Горячие замены работают хорошо для некоторых вещей (таких как JSP), но не так хорошо для других вещей (конфигурационные файлы, EJB и т.д.). Если не удается правильно выполнить горячую замену, необходимо выполнить отскок сервера.

Например, если настройка RAD выполняется автоматически, сервер работает, и вы изменяете EJB, что произойдет:
1. EJB будет скомпилирован
2. Если проект в порядке, RAD развернет ваши изменения
3. Сервер, вероятно, не сможет получить ваши изменения с горячей заменой, поэтому сервер продолжит выполнять старый код

Когда это произойдет, сервер перескочит, и код будет извлечен.

5
ответ дан 14 December 2019 в 08:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: